使用Linq选择类的属性以返回IEnumerable <t> </t>

时间:2011-01-31 12:25:21

标签: c# .net linq .net-3.5 c#-3.0

如果我有SortedList<int, MyClass>并且我想从该课程返回新的IEnumerable<T>属性,我该怎么做?

我尝试了SortedList.Select(x=>x.MyProperty, x.AnotherProperty),但它无效。

感谢。

1 个答案:

答案 0 :(得分:17)

您可以返回一个匿名对象:

var result = SortedList.Select(x => new { 
    x.Value.MyProperty, 
    x.Value.AnotherProperty 
});

或者,如果您想使用当前方法范围之外的结果,您可以定义自定义类型:

IEnumerable<MyType> result = SortedList.Select(x => new MyType { 
    Prop1 = x.Value.MyProperty, 
    Prop2 = x.Value.AnotherProperty 
});