簡體   English   中英

C#各種System.Collection(.Generic)類型之間的差異

[英]C# Differences between the various System.Collection(.Generic) types

我對C#語言中各種類型之間的差異感到很困惑。 特別

  • IEnumerable的
  • IEnumerator的

IEnumerable<T>表示可以枚舉的序列 - 例如列表。

IEnuerator<T>有效地表示序列中的游標。

所以想象一下你有一個序列 - 你可以同時用幾個“游標”迭代它。 例如:

List<string> names = new List<string> { "First", "Second", "Third" };
foreach (string x in names)
{
    foreach(string y in names)
    {
        Console.WriteLine("{0} {1}");
    }
}

這里, List<string>實現IEnumerable<string> ,並且foreach循環每次調用GetEnumerator()以檢索IEnumerator<string> 因此,當我們處於內部循環的中間時,有兩個獨立的游標迭代單個序列。

IEnumerable可以枚舉的集合。

IEnumerator通過集合實際管理位置的東西,提供對當前項目的訪問,並允許您繼續下一個。

因此,可以使用IEnumerator來遍歷IEnumerable

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM