在C#中,可以使用yield關鍵字來實現延遲執行。通過yield關鍵字,可以實現按需生成序列的功能,而不需要一次性生成所有元素。
下面是一個簡單的示例,展示如何使用yield來實現延遲執行:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
foreach (var number in GetNumbers())
{
Console.WriteLine(number);
}
}
static IEnumerable<int> GetNumbers()
{
for (int i = 1; i <= 5; i++)
{
Console.WriteLine($"Generating number: {i}");
yield return i;
}
}
}
在上面的示例中,GetNumbers方法返回一個IEnumerable
在Main方法中,通過foreach循環遍歷GetNumbers方法返回的序列,實現延遲執行的效果。每次循環迭代時,都會調用GetNumbers方法來生成下一個數字。
通過使用yield關鍵字,可以實現簡單而有效的延遲執行功能,適用于需要按需生成大量元素的情況。