在C#中,yield關鍵字通常用于創建迭代器方法。您可以在LINQ查詢中使用yield語句來生成序列中的元素。以下是一個簡單的示例,演示如何使用yield和LINQ一起使用:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
// 創建一個簡單的集合
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
// 使用LINQ查詢和yield語句生成一個新的序列
var squaredNumbers = GetSquaredNumbers(numbers);
// 打印生成的序列
foreach (var num in squaredNumbers)
{
Console.WriteLine(num);
}
}
static IEnumerable<int> GetSquaredNumbers(List<int> numbers)
{
// 使用yield語句生成平方的數字
foreach (var num in numbers)
{
yield return num * num;
}
}
}
在上面的示例中,我們定義了一個名為GetSquaredNumbers的方法,它使用yield語句生成輸入集合中每個元素的平方,并返回一個新的序列。然后,我們在Main方法中使用LINQ查詢來獲取生成的序列,并打印出來。
通過結合使用yield和LINQ,您可以更靈活地生成和操作序列數據。