对旧代码进行一些重构,负责的开发人员早已离开。
他把 Linq 的这一点遗赠给我:
var orders = memberOrders
.Join(members, x => x.MemberID, y => y.MemberID, (x,y) => new { Order = x , y.MemberName })
.OrderByDescending(x => x.Order.MailingDate).ToList();
这会创建某种双值列表,其中 Order 对象连接到该对象的 MemberName 字符串。
我想要一个函数来返回这个。但是,我不知道该函数需要返回什么类型。
调用 GetType()
显示它叫做 List`1
,这不是很有帮助。它看起来像一个 List<T>
由编译器即时构造成自定义对象。
它是什么,我如何从函数返回它?
最佳答案
它返回一个具有两个属性的匿名类型列表:Order
和 MemberName
. 技术上您可以返回一个匿名类型的列表(返回类型可以是 object
或 List<dynamic>
),但是您需要调用者使用反射或 dynamic
访问属性。
创建新类型(或使用现有类型)并返回那个的列表会更安全。
关于c# - 返回匿名类型列表的方法使用什么返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24762546/