专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

C#集合-队列

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:41:44       共计:3591 浏览

队列是其元素以先进先出(FIFO)的方式来处理的集合。先放在队列中的元素会先读取。队列的例子有在机场排的队、人力资源部中等待处理求职信的队列、打印队列中等待处理的打印任务、以循环方式等]处理的线程。另外,还常常有元素根据其优先级来处理的队列。例如,在机场的队列中,商务舱乘客的处理要优先于经济舱的乘客。这里可以使用多个队列,一个队列对应一个优先级。在机场,这是很常见的,因为商务舱乘客和经济舱乘客有不同的登记队列。打印队列和线程也是这样。可以为一组队列建立一个数组,数组中的一项代表一个优先级。在每个数组项中,都有一个队列,其处理按照的方式进行。

#region 队列测试
  /// <summary>
  /// 队列测试
  /// </summary>
  public class TestQueue
  {
    public void 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);

        /////取出这个元素后,遍历队列
        /////
        //foreach (var item in strList)
        //{
        //   Console.WriteLine(item);
        //}
        ///取出最先入队的元素,但并不删除
        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

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:c# 阻塞队列 | ·下一条:C# 队列(Queue)和 堆栈(Stack)

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有