AngleSharp by AngleSharp

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

.NET API 1,224,704 bytes

 FirstColumnSelector

The nth-column selector.
using AngleSharp.Css; using AngleSharp.Dom.Html; using System; namespace AngleSharp.Dom.Css { internal sealed class FirstColumnSelector : ChildSelector { public FirstColumnSelector() : base(PseudoClassNames.NthColumn) { } 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++) { IHtmlTableCellElement htmlTableCellElement = parentElement.ChildNodes[i] as IHtmlTableCellElement; if (htmlTableCellElement != null) { int columnSpan = htmlTableCellElement.ColumnSpan; num2 += columnSpan; if (htmlTableCellElement == element) { int num3 = num2 - _offset; int num4 = 0; while (num4 < columnSpan) { if (num3 == 0 || (Math.Sign(num3) == num && num3 % _step == 0)) return true; num4++; num3--; } return false; } } } } return false; } } }