日期:2014-05-18 浏览次数:20499 次
#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);
       
        ///取出最先入队的元素,但并不删除
        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
------解决方案--------------------
给你写一个 #5 楼所说的代码,这非常简单。首先要定义一个static的变量:
private static object LockFlag= new object();