字如其名,LINQ提供语言集成查询功能。不过在这之前理应预习一下C#的IEnumerable,这俩是脸贴脸的。
C#的迭代器
迭代器可用于逐步迭代集合,例如列表和数组。通过 foreach 语句或在 LINQ 查询中使用迭代器。
迭代器方法或 get 访问器可对集合执行自定义迭代。 迭代器方法使用 yield return 语句返回元素,每次返回一个。 到达 yield return 语句时,会记住当前在代码中的位置。 下次调用迭代器函数时,将从该位置重新开始执行。
可迭代的类型为public static System.Collections.IEnumerable
。例如:
public static System.Collections.IEnumerable SomeNumbers()
{
yield return 3;
yield return 5;
yield return 8;
}
在上述例子中,如果迭代SomeNumbers
三次,会分别得到3、5、8:
{
foreach (int number in SomeNumbers())
{
Console.Write(number.ToString() + " ");
}
// Output: 3 5 8
Console.ReadKey();
}
有许多组件使用IEnumerable
作为接口,因此可以直接在Array
、List
、Stack
等类型的对象上使用IEnumerable
的特性。