使用 Linq 选择类的属性以返回 IEnumerable<T>
Posted
技术标签:
【中文标题】使用 Linq 选择类的属性以返回 IEnumerable<T>【英文标题】:Using Linq to Select properties of class to return IEnumerable<T> 【发布时间】:2011-06-18 13:25:49 【问题描述】:如果我有一个 SortedList<int, MyClass>
并且我想从该类返回一个新的 IEnumerable<T>
属性,我该怎么做?
我尝试了SortedList.Select(x=>x.MyProperty, x.AnotherProperty)
,但它不起作用。
谢谢。
【问题讨论】:
“可枚举的属性”应该如何呈现?能否给我们一个示例,最好是伪代码? 【参考方案1】:你可以返回一个匿名对象:
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
);
【讨论】:
谢谢。正在撞墙的那一刻,忘记了 x => new .......以上是关于使用 Linq 选择类的属性以返回 IEnumerable<T>的主要内容,如果未能解决你的问题,请参考以下文章