温馨提示×

yield c# 如何与LINQ一起使用

c#
小樊
84
2024-07-14 04:32:28
栏目: 编程语言

在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,您可以更灵活地生成和操作序列数据。

0