AngleSharp by Florian Rappl

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

 CssRangeToken

sealed class CssRangeToken : CssToken
Represents the CSS range token.
using System.Collections.Generic; using System.Globalization; namespace AngleSharp.Parser.Css { internal sealed class CssRangeToken : CssToken { private readonly string[] _range; public bool IsEmpty { get { if (_range != null) return _range.Length == 0; return true; } } public string[] SelectedRange => _range; public CssRangeToken(string start, string end) : base(CssTokenType.Range, string.Empty) { int i = int.Parse(start, NumberStyles.HexNumber); if (i <= 1114111) { if (end != null) { List<string> list = new List<string>(); int num = int.Parse(end, NumberStyles.HexNumber); if (num > 1114111) num = 1114111; for (; i <= num; i++) { list.Add(char.ConvertFromUtf32(i)); } _range = list.ToArray(); } else _range = new string[1] { char.ConvertFromUtf32(i) }; } } public override string ToValue() { if (IsEmpty) return string.Empty; int num; if (_range.Length == 1) { num = char.ConvertToUtf32(_range[0], 0); return "#" + num.ToString("x"); } num = char.ConvertToUtf32(_range[0], 0); string str = num.ToString("x"); num = char.ConvertToUtf32(_range[_range.Length - 1], 0); return "#" + str + "-#" + num.ToString("x"); } } }