如何使用dynamic集合的LINQ
有没有办法将dynamic
对象转换为IEnumerable
types来过滤具有属性的集合。
dynamic data = JsonConvert.DeserializeObject(response.Content);
我需要访问这样的东西
var a = data.Where(p => p.verified == true)
有任何想法吗?
只要data
是某种IEnumerable
,您可以使用:
var a = ((IEnumerable) data).Cast<dynamic>() .Where(p => p.verified);
Cast<dynamic>()
将以IEnumerable<dynamic>
结束,以便lambdaexpression式的参数types也是dynamic
。
尝试转换为IEnumerable<dynamic>
((IEnumerable<dynamic>)data).Where(d => d.Id == 1);
这种方法比其他方法快4倍。
祝你好运