Newtonsoft.Json.Linq.JObject  clearly implements  IEnumerable < T > , specifically  IEnumerable < KeyValuePair < string, JToken > , after reading the metadata and source code, it is not explicitly implemented. It is said that objects of type  JObject  can directly call  Select, Where  and other linq extension methods, but the code is as follows: 
using System.Linq;
...
var jobj = new JObject();
var xxx = jobj.Select(x=>x); //:JObjectSelect1JObjectSelect...
foreach(var x in jobj) { } //
I really don"t know any reason, so I ask for advice.
