c#Queue队列使用方法

复制代码
using System;
using System.Collections.Generic;
using System.Linq;

namespace Queue测试
{
class Program
{
static void Main(string[] args)
{
Queue<string> strList = new Queue<string>();
///向队列加入元素
strList.Enqueue("元素1");
strList.Enqueue("元素2");
strList.Enqueue("元素3");
///遍历元素
foreach (var item in strList)
{
Console.WriteLine(item);
}
///队长长度
Console.Write("队列长度---");
Console.WriteLine(strList.Count);
////取出最先加进去的元素,并删除,充分体现队列的先进先出的特性
///如队列中无元素,则会引发异常
//string mes = strList.Dequeue();
//Console.WriteLine(mes);

///取出最先入队的元素,但并不删除
string mes = strList.Peek();
Console.Write("取出但不移除队头的元素----");
Console.WriteLine(mes);
///遍历队列,仍为三个元素
Console.WriteLine("队列剩余元素为---");
foreach (var item in strList)
{
Console.WriteLine(item);
}

///直接获得队列中的某个元素,
///如果索引越界,会引发异常
Console.Write("获取队列中的第2个元素----");
string s = strList.ElementAt(2);
Console.WriteLine(s);
///直接获得队列中的某个元素,
///如果索引越界,则会返回null,但不引发异常
Console.Write("获取队列中的第5个元素-----");
Console.WriteLine( strList.ElementAtOrDefault(5));
Console.Write("获取队列中的第1个元素-----");
Console.WriteLine(strList.ElementAtOrDefault(1));

///取出最先入队的元素,但并不删除
string pop = strList.Dequeue();
Console.Write("取出队头的元素----");
Console.WriteLine(mes);
///遍历队列,为2个元素
Console.WriteLine("队列剩余元素为---");
foreach (var item in strList)
{
Console.WriteLine(item);
}
Console.ReadKey();

}
}
}
strList.clear();//用户删除所有对象,清空数据

复制代码

 

posted @   txwtech  阅读(840)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示