AngleSharp by AngleSharp

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

 HtmlCollection<T>

sealed class HtmlCollection<T> : IHtmlCollection<T>, IEnumerable<T>, IEnumerable where T : IElement
A specialized collection containing elements of type T.
using AngleSharp.Extensions; using System; using System.Collections; using System.Collections.Generic; using System.Linq; namespace AngleSharp.Dom.Collections { internal sealed class HtmlCollection<T> : IHtmlCollection<T>, IEnumerable<T>, IEnumerable where T : class, IElement { private readonly IEnumerable<T> _elements; public T this[int index] { get { return AngleSharp.Extensions.CollectionExtensions.GetItemByIndex<T>(_elements, index); } } public T this[string id] { get { return AngleSharp.Extensions.CollectionExtensions.GetElementById<T>(_elements, id); } } public int Length => Enumerable.Count<T>(_elements); public HtmlCollection(IEnumerable<T> elements) { _elements = elements; } public HtmlCollection(INode parent, bool deep = true, Predicate<T> predicate = null) { _elements = AngleSharp.Extensions.CollectionExtensions.GetElements<T>(parent, deep, predicate); } public IEnumerator<T> GetEnumerator() { return _elements.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return _elements.GetEnumerator(); } } }