有没有一种方法可以将dynamic对象转换为IEnumerableType以使用属性过滤集合。
dynamic data = JsonConvert.DeserializeObject(response.Content);
我需要访问这样的内容
var a = data.Where(p => p.verified == true)
有任何想法吗?
有没有一种方法可以将dynamic对象转换为IEnumerableType以使用属性过滤集合。
dynamic data = JsonConvert.DeserializeObject(response.Content);
我需要访问这样的内容
var a = data.Where(p => p.verified == true)
有任何想法吗?
Answers:
只要data是IEnumerable某种类型的,就可以使用:
var a = ((IEnumerable) data).Cast<dynamic>()
.Where(p => p.verified);
的Cast<dynamic>()是最终要与IEnumerable<dynamic>使得参数lambda表达式的类型也是dynamic。
尝试投射到 IEnumerable<dynamic>
((IEnumerable<dynamic>)data).Where(d => d.Id == 1);
这种方法比其他方法快4倍。
祝好运
IEnumerable<T>where的地方T,例如List<int>。有时这可能是相关的,而其他时候则不相关。