C#: foreach与yield语句的介绍
什么是foreach
foreach
是 C# 中常用的遍历集合的循环结构,它可以方便地遍历数组、集合、字典等集合数据类型。其基本语法结构如下:
foreach (var item in collection)
{
// 循环体
}
其中,item
为当前循环的元素,collection
为要遍历的集合,可以是数组、集合或者字典。在循环体内部,可以通过 item
访问当前元素。
下面是一个遍历数组的示例:
string[] colors = { "Red", "Green", "Blue" };
foreach (var color in colors)
{
Console.WriteLine(color);
}
输出结果:
Red
Green
Blue
什么是yield语句
yield
是 C# 中用来实现迭代器(Iterator)的语句。通过使用 yield
关键字,可以将一个方法转换为一个可迭代对象。其基本语法结构如下:
yield return expression;
其中,expression
是要返回的值。当调用迭代器的 MoveNext
方法时,会执行 yield
语句,并将 expression
的值返回给调用方。
下面是一个使用 yield
实现斐波那契数列的示例:
public static IEnumerable<int> Fibonacci(int count)
{
int n1 = 0, n2 = 1;
for (int i = 0; i < count; i++)
{
yield return n1;
int sum = n1 + n2;
n1 = n2;
n2 = sum;
}
}
在上面的示例中,Fibonacci
方法返回一个可枚举的整数集合。通过 yield
关键字,每次迭代返回一个斐波那契数列中的数字。
下面是使用 Fibonacci
方法获取斐波那契数列中前 10 个数字的示例:
foreach (var number in Fibonacci(10))
{
Console.WriteLine(number);
}
输出结果:
0
1
1
2
3
5
8
13
21
34
总结
foreach
和 yield
是 C# 中常用的语句,它们都可以用于集合的遍历和迭代器的实现。使用 foreach
可以遍历数组、集合、字典等集合数据类型,使用 yield
可以将一个方法转换为一个可迭代对象,方便对集合数据进行操作和处理。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#:foreach与yield语句的介绍 - Python技术站