【问题标题】:Get distinct objects from list of dynamic objects从动态对象列表中获取不同的对象
【发布时间】:2015-03-07 12:17:15
【问题描述】:

我正在尝试返回一个不同的动态对象列表。 我要过滤的对象是 dynamic {System.Collections.Generic.List<object>} 类型,它的每个索引项都是 object {System.Dynamic.ExpandoObject} 类型。

数据结构示例如下:

Model.Object
    - [0]
        - Property 1 (value: aaa)
        - Property 2 (value: 123)
        - Property 3 (value: a123)
    - [1]
        - Property 1 (value: bbb)
        - Property 2 (value: 456)
        - Property 3 (value: a456)
    - [2]
        - Property 1 (value: ccc)
        - Property 2 (value: 123)
        - Property 3 (value: a123)`

我尝试了以下方法,但没有成功: var distinctResults = ((List<object>)Model.Object).GroupBy(elem => elem.Property 2).Select(group => group.First());

有什么帮助吗?

【问题讨论】:

  • "...但没有成功"。它给了你任何数据吗?如果是这样,它有什么问题?
  • 您好,产生了以下错误:`'object'不包含'Property 2'的定义,并且找不到接受'object'类型的第一个参数的扩展方法'Property 2' `
  • 很可能是因为您将其转换为List<object>,也许试试List<dynamic>
  • 成功了!谢谢Lasse,请将其添加为答案
  • Peet 已经做到了 :) 接受他的回答,不需要再添加一个。

标签: c# dynamictype


【解决方案1】:

正如 Lasse V. Karlsen 所说,将其转换为 List<dynamic>

【讨论】:

    猜你喜欢
    • 2011-06-26
    • 2020-06-04
    • 1970-01-01
    • 2015-03-15
    • 2011-09-08
    • 2021-01-13
    • 2016-10-26
    • 2019-08-24
    • 2019-02-06
    相关资源
    最近更新 更多