<PackageReference Include="Newtonsoft.Json" Version="6.0.8" />

JEnumerable<T>

public struct JEnumerable<T> : IJEnumerable<T>, IEnumerable<T>, IEnumerable, IEquatable<JEnumerable<T>> where T : JToken
Represents a collection of JToken objects.
using Newtonsoft.Json.Utilities; using System; using System.Collections; using System.Collections.Generic; using System.Linq; namespace Newtonsoft.Json.Linq { public struct JEnumerable<T> : IJEnumerable<T>, IEnumerable<T>, IEnumerable, IEquatable<JEnumerable<T>> where T : JToken { public static readonly JEnumerable<T> Empty = new JEnumerable<T>(Enumerable.Empty<T>()); private readonly IEnumerable<T> _enumerable; public IJEnumerable<JToken> this[object key] { get { if (_enumerable == null) return JEnumerable<JToken>.Empty; return new JEnumerable<JToken>(Extensions.Values<T, JToken>(_enumerable, key)); } } public JEnumerable(IEnumerable<T> enumerable) { ValidationUtils.ArgumentNotNull(enumerable, "enumerable"); _enumerable = enumerable; } public IEnumerator<T> GetEnumerator() { if (_enumerable == null) return Empty.GetEnumerator(); return _enumerable.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } public bool Equals(JEnumerable<T> other) { return object.Equals(_enumerable, other._enumerable); } public override bool Equals(object obj) { if (obj is JEnumerable<T>) return Equals((JEnumerable<T>)obj); return false; } public override int GetHashCode() { if (_enumerable == null) return 0; return _enumerable.GetHashCode(); } } }