【发布时间】: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