首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将Linq查询传递给方法?

要将Linq查询传递给方法,您可以使用Lambda表达式。Lambda表达式是一种匿名函数,可以作为参数传递给方法。以下是一个示例:

代码语言:csharp
复制
public class Student
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static class StudentExtensions
{
    public static List<TResult> FilterStudents<TResult>(this List<Student> students, Func<Student, TResult> predicate)
    {
        return students.Select(predicate).ToList();
    }
}

public static void Main(string[] args)
{
    List<Student> students = new List<Student>
    {
        new Student { Name = "Alice", Age = 20 },
        new Student { Name = "Bob", Age = 25 },
        new Student { Name = "Charlie", Age = 30 }
    };

    var filteredStudents = students.FilterStudents(x => x.Name);
    var filteredStudents2 = students.FilterStudents(x => x.Age > 25);
}

在这个示例中,我们定义了一个名为FilterStudents的扩展方法,它接受一个Func<Student, TResult>类型的参数。Func<Student, TResult>是一个委托,表示一个接受Student类型参数并返回TResult类型的函数。

Main方法中,我们使用Lambda表达式将Linq查询传递给FilterStudents方法。第一个查询返回学生的名字,第二个查询返回年龄大于25的学生。

这种方法可以让您将Linq查询作为参数传递给方法,从而更灵活地处理数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券