有没有办法将dynamic
对象转换为IEnumerable
Type以使用属性过滤集合.
dynamic data = JsonConvert.DeserializeObject(response.Content);
Run Code Online (Sandbox Code Playgroud)
我需要访问这样的东西
var a = data.Where(p => p.verified == true)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
Jon*_*eet 107
只要data
是IEnumerable
某种类型,您可以使用:
var a = ((IEnumerable) data).Cast<dynamic>()
.Where(p => p.verified);
Run Code Online (Sandbox Code Playgroud)
的Cast<dynamic>()
是最终要与IEnumerable<dynamic>
使得参数lambda表达式的类型也是dynamic
.
Yas*_*adi 41
尝试投射到 IEnumerable<dynamic>
((IEnumerable<dynamic>)data).Where(d => d.Id == 1);
Run Code Online (Sandbox Code Playgroud)
这种方法比其他方法快4倍.
祝好运