Newtonsoft.Json.Linq.JObject
已实施IEnumerable<T>
,未明确实施,但为何不能这样做:
using System.Linq;
...
var jobj = new JObject();
var xxx = jobj.Select(x => x); //error
foreach(var x in jobj) { } //no error
为什么?感谢。
答案 0 :(得分:8)
JObject
同时实现query.WhereRestrictionOn(x => x.Nombre).IsLike(nombre, MatchMode.Start);
和query.WhereRestrictionOn(x => x.Nombre).IsLike(apellidoM, MatchMode.End);
(继承自IEnumerable<KeyValuePair<string, JToken>>
)。
因此,您无法直接使用LINQ(例如IEnumerable<JToken>
),因为它不知道要扩展哪些可用数据。
因此你需要先施展:
JContainer
或:
Select
或@Evk指出:
((IEnumerable<KeyValuePair<string, JToken>>) jobj).Select(x => x)