Rop*_*tah 0 .net generics ienumerable extension-methods
我刚刚发现我不是那么流利,delegate而action另一个我想要的......
我有一个IEnumerable<T>我想要转换为IEnumerable<object>使用委托函数创建object为匿名对象.扩展方法在这里会派上用场还是已经存在?
这(或类似的东西)应该是可能的吗?
IEnumerable<SomeBllObject> list;
IEnumerable<object> newList = list.Transform(x => return new {
someprop = x.SomeProp,
otherprop = x.OtherProp
});
Run Code Online (Sandbox Code Playgroud)
如果您使用的是.NET 4,那么您刚刚描述了该Select方法:
IEnumerable<object> newList = list.Select(x => new {
someprop = x.SomeProp,
otherprop = x.OtherProp
});
Run Code Online (Sandbox Code Playgroud)
对于.NET 3.5,您需要转换委托的结果,因为它没有通用的协方差:
IEnumerable<object> newList = list.Select(x => (object) new {
someprop = x.SomeProp,
otherprop = x.OtherProp
});
Run Code Online (Sandbox Code Playgroud)
或者使用隐式类型的局部变量并获得强类型序列:
var newList = list.Select(x => new {
someprop = x.SomeProp,
otherprop = x.OtherProp
});
Run Code Online (Sandbox Code Playgroud)