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

C#对具有相同类型的不同属性重用LINQ表达式

是通过使用匿名类型和LINQ的动态查询功能来实现的。

在C#中,可以使用匿名类型来创建一个临时的、只包含所需属性的对象。这样,即使属性不同,但类型是相同的,就可以重用LINQ表达式。

下面是一个示例代码,演示了如何在C#中对具有相同类型的不同属性重用LINQ表达式:

代码语言:csharp
复制
// 定义一个包含属性的匿名类型
var person1 = new { Name = "John", Age = 25 };
var person2 = new { Name = "Alice", Age = 30 };

// 定义一个重用LINQ表达式的方法
public static IQueryable<Person> GetPersons(string name, int age)
{
    // 创建一个查询表达式,筛选出具有指定属性值的对象
    var query = from person in GetPersonData()
                where person.Name == name && person.Age == age
                select person;

    return query;
}

// 定义一个Person类,用于表示具有相同属性的对象
public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

// 获取Person对象的数据源
public static List<Person> GetPersonData()
{
    // 返回一个包含Person对象的列表
    return new List<Person>
    {
        new Person { Name = "John", Age = 25 },
        new Person { Name = "Alice", Age = 30 },
        new Person { Name = "Bob", Age = 35 }
    };
}

// 使用重用的LINQ表达式进行查询
var result1 = GetPersons("John", 25);
var result2 = GetPersons("Alice", 30);

在上面的示例中,我们定义了一个包含Name和Age属性的匿名类型,并且定义了一个重用LINQ表达式的方法GetPersons。该方法接受一个名称和年龄作为参数,并返回具有相同属性值的Person对象。

通过使用LINQ查询表达式,我们可以筛选出具有指定属性值的Person对象,并返回查询结果。

这里没有提及腾讯云相关产品和产品介绍链接地址,因为与该问题无关。

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

相关·内容

领券