队列是其元素以先进先出(FIFO)的方式来处理的集合。先放在队列中 的元素会先读取。队列的例子有在机场排的队、人力资源部中等待处理求职信的队列、打印队列中等待处理的打印任务、以循环方式等]处理的线程。另外,还常常 有元素根据其优先级来处理的队列。例如,在机场的队列中,商务舱乘客的处理要优先于经济舱的乘客。这里可以使用多个队列,一个队列对应一个优先级。在机 场,这是很常见的,因为商务舱乘客和经济舱乘客有不同的登记队列。打印队列和线程也是这样。可以为一组队列建立一个数组,数组中的一项代表一个优先级。在 每个数组项中,都有一个队列,其处理按照的方式进行。
#region 队列测试///<summary>/// 队列测试///</summary>publicclass TestQueue
{publicvoid TestQueueMethod()
{
Queue<string> strList =new Queue<string>();///向队列加入元素 strList.Enqueue("阳光");
strList.Enqueue("水");
strList.Enqueue("空气");///遍历元素foreach (var item in strList)
{
Console.WriteLine(item);
}///队长长度 Console.WriteLine(strList.Count);////取出最先加进去的元素,并删除,充分体现队列的先进先出的特性///如队列中无元素,则会引发异常//string mes = strList.Dequeue();//Console.WriteLine(mes);///取出最先入队的元素,但并不删除string mes = strList.Peek();
Console.WriteLine(mes);///遍历队列,仍为三个元素///foreach (var item in strList)
{
Console.WriteLine(item);
}///直接获得队列中的某个元素,///如果索引越界,会引发异常string s = strList.ElementAt(1);
Console.WriteLine(s);///直接获得队列中的某个元素,///如果索引越界,则会返回null,但不引发异常 Console.WriteLine( strList.ElementAtOrDefault(5));
}
}#endregion
{publicvoid TestQueueMethod()
{
Queue<string> strList =new Queue<string>();///向队列加入元素 strList.Enqueue("阳光");
strList.Enqueue("水");
strList.Enqueue("空气");///遍历元素foreach (var item in strList)
{
Console.WriteLine(item);
}///队长长度 Console.WriteLine(strList.Count);////取出最先加进去的元素,并删除,充分体现队列的先进先出的特性///如队列中无元素,则会引发异常//string mes = strList.Dequeue();//Console.WriteLine(mes);///取出最先入队的元素,但并不删除string mes = strList.Peek();
Console.WriteLine(mes);///遍历队列,仍为三个元素///foreach (var item in strList)
{
Console.WriteLine(item);
}///直接获得队列中的某个元素,///如果索引越界,会引发异常string s = strList.ElementAt(1);
Console.WriteLine(s);///直接获得队列中的某个元素,///如果索引越界,则会返回null,但不引发异常 Console.WriteLine( strList.ElementAtOrDefault(5));
}
}#endregion
1302

被折叠的 条评论
为什么被折叠?



