AngleSharp by AngleSharp

<PackageReference Include="AngleSharp" Version="0.9.11" />

 JsonArray

using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace AngleSharp.Html.Submitters.Json { internal sealed class JsonArray : JsonElement, IEnumerable<JsonElement>, IEnumerable { private readonly List<JsonElement> _elements; public int Length => _elements.Count; public JsonElement this[int key] { get { return _elements.ElementAtOrDefault(key); } set { for (int i = _elements.Count; i <= key; i++) { _elements.Add(null); } _elements[key] = value; } } public JsonArray() { _elements = new List<JsonElement>(); } public void Push(JsonElement element) { _elements.Add(element); } public override string ToString() { StringBuilder stringBuilder = Pool.NewStringBuilder().Append('['); bool flag = false; foreach (JsonElement element in _elements) { if (flag) stringBuilder.Append(','); stringBuilder.Append(element?.ToString() ?? "null"); flag = true; } return stringBuilder.Append(']').ToPool(); } public IEnumerator<JsonElement> GetEnumerator() { return _elements.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } } }