C# 不同System.Collection(.Generic)类型之间的差异

C# 不同System.Collection(.Generic)类型之间的差异,c#,collections,C#,Collections,我对C#语言中各种类型之间的差异感到困惑。具体地 数不清 电子计算器 IEnumerable表示可以枚举的序列-例如列表 IEnuerator有效地表示序列中的光标 假设你有一个序列,你可以同时用几个“游标”在上面迭代。例如: List<string> names = new List<string> { "First", "Second", "Third" }; foreach (string x in names) { foreach(string y in

我对C#语言中各种类型之间的差异感到困惑。具体地

  • 数不清
  • 电子计算器
IEnumerable
表示可以枚举的序列-例如列表

IEnuerator
有效地表示序列中的光标

假设你有一个序列,你可以同时用几个“游标”在上面迭代。例如:

List<string> names = new List<string> { "First", "Second", "Third" };
foreach (string x in names)
{
    foreach(string y in names)
    {
        Console.WriteLine("{0} {1}");
    }
}
List name=新列表{“第一”、“第二”、“第三”};
foreach(名称中的字符串x)
{
foreach(名称中的字符串y)
{
WriteLine(“{0}{1}”);
}
}

这里,
List
实现
IEnumerable
,并且
foreach
循环每个调用
GetEnumerator()
以检索
IEnumerator
。因此,当我们处于内环的中间时,有两个独立的游标在单个序列上迭代。

<代码> iQueaby一个可以枚举的集合。

IEnumerator
通过集合实际管理位置的东西,提供对当前项目的访问,并允许您转到下一个项目

因此,我们可以使用
IEnumerable
遍历
IEnumerable

的可能副本