AngleSharp by AngleSharp

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

.NET API 1,204,224 bytes

 FirstChildSelector

The nth-child selector.
using AngleSharp.Css; using System; namespace AngleSharp.Dom.Css { internal sealed class FirstChildSelector : ChildSelector { public FirstChildSelector() : base(PseudoClassNames.NthChild) { } public override bool Match(IElement element) { IElement parentElement = element.ParentElement; if (parentElement != null) { int num = Math.Sign(_step); int num2 = 0; for (int i = 0; i < parentElement.ChildNodes.Length; i++) { IElement element2 = parentElement.ChildNodes[i] as IElement; if (element2 != null && _kind.Match(element2)) { num2++; if (element2 == element) { int num3 = num2 - _offset; if (num3 != 0) { if (Math.Sign(num3) == num) return num3 % _step == 0; return false; } return true; } } } } return false; } } }