Linq表达式选择器

时间:2014-12-16 07:33:57

标签: c# .net linq expression

Expression<Func<T, object>>选择器是我作为参数的选择器。

我的方法是泛型类型,并且假设我想从被调用的类中获取多个属性值。

a =>a.customername是传递给表达式的内容。请解释,是否可以进行多项选择?

例如我也想要客户地址,两者都是字符串值。

1 个答案:

答案 0 :(得分:6)

如果要获取多个属性,可以使用多个参数,其中每个参数都提取单个值,但使用创建匿名类型的lambda表达式会更常见。例如:

var result = Foo.SomeMethod(customer => new { customer.Name, customer.Address });

编译器将生成一个具有NameAddress属性的类型,并创建一个表达式树,使用提供的Customer对象中的属性创建该类型的实例。