c# - 返回匿名类型列表的方法使用什么返回类型?

标签 c# linq list

对旧代码进行一些重构,负责的开发人员早已离开。

他把 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>由编译器即时构造成自定义对象。

它是什么,我如何从函数返回它?

最佳答案

它返回一个具有两个属性的匿名类型列表:OrderMemberName . 技术上您可以返回一个匿名类型的列表(返回类型可以是 objectList<dynamic> ),但是您需要调用者使用反射或 dynamic访问属性。

创建新类型(或使用现有类型)并返回那个的列表会更安全。

关于c# - 返回匿名类型列表的方法使用什么返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24762546/

相关文章:

c# - 如何重载/替换/扩展公共(public)代码中使用的 C# 接口(interface)

C# 相当于 Julia 的 map!() 方法

C# - 在 LINQ 上比较没有时间的日期时间?

python - 返回类型取决于 Python 中的输入类型

python - 垂直或水平计数列表列表中的值 "in a row"

c# - 有效函数名称的正则表达式 ([a-zA-Z]\w+)[^\w]

c# - .net Core 服务启动时间过长

c# - 关于构建/格式化 LINQ to XML 查询的最佳方式的建议?

c# - Linq to EF .Clear() 不清除

android - 使用 Retrofit 将 JsonArray 转换为 Kotlin 数据类(预期为 BEGIN_OBJECT 但为 BEGIN_ARRAY)