當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C# Queue.GetEnumerator用法及代碼示例


此方法返回一個遍曆隊列的枚舉數。它位於System.Collections命名空間下。

用法:

public virtual System.Collections.IEnumerator GetEnumerator ();

以下示例程序旨在說明上述方法的使用:


示例1:

// C# code to illustrate the  
// Queue.GetEnumerator Method  
using System; 
using System.Collections; 
  
class GFG { 
  
    // Driver code 
    public static void Main() 
    { 
  
        // Creating an Queue 
        Queue myq = new Queue(); 
  
        // Adding elements to Queue 
        myq.Enqueue("A"); 
        myq.Enqueue("B"); 
        myq.Enqueue("C"); 
        myq.Enqueue("D"); 
        myq.Enqueue("E"); 
        myq.Enqueue("F"); 
  
        // To get an Enumerator 
        // for the Queue 
        IEnumerator enumerator = myq.GetEnumerator(); 
  
        // If MoveNext passes the end of the 
        // collection, the enumerator is positioned 
        // after the last element in the Queue 
        // and MoveNext returns false. 
        while (enumerator.MoveNext())  
        { 
  
            Console.WriteLine(enumerator.Current); 
        } 
    } 
}
輸出:
A
B
C
D
E
F

示例2:

// C# code to illustrate the  
// Queue.GetEnumerator Method  
using System; 
using System.Collections; 
  
class GFG { 
  
    // Driver code 
    public static void Main() 
    { 
  
        // Creating an Queue 
        Queue myq = new Queue(); 
  
        // Adding elements to Queue 
        myq.Enqueue(78); 
        myq.Enqueue(84); 
        myq.Enqueue(44); 
        myq.Enqueue(77); 
        myq.Enqueue(99); 
  
        // To get an Enumerator 
        // for the Queue 
        IEnumerator enumerator = myq.GetEnumerator(); 
  
        // If MoveNext passes the end of the 
        // collection, the enumerator is positioned 
        // after the last element in the Queue 
        // and MoveNext returns false. 
        while (enumerator.MoveNext()) { 
  
            Console.WriteLine(enumerator.Current); 
        } 
    } 
}
輸出:
78
84
44
77
99

注意:

  • C#語言的foreach語句隱藏了枚舉器的複雜性。因此,建議使用foreach,而不是直接操作枚舉器。
  • 枚舉數可用於讀取集合中的數據,但不能用於修改基礎集合。
  • 當前返回相同的對象,直到調用MoveNext或Reset。 MoveNext將Current設置為下一個元素。
  • 隻要集合保持不變,枚舉數將保持有效。如果對集合進行了更改(例如添加,修改或刪除元素),則枚舉數將無法恢複,並且其行為是不確定的。
  • 此方法是O(1)操作。

參考:



相關用法


注:本文由純淨天空篩選整理自Kirti_Mangal大神的英文原創作品 Queue.GetEnumerator Method in C#。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。