AngleSharp by Florian Rappl

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

 Frequency

Represents a time value.
using System; namespace AngleSharp.Css.Values { public struct Frequency : IEquatable<Frequency>, IComparable<Frequency>, IFormattable { public enum Unit { Hz, Khz } private readonly float _value; private readonly Unit _unit; public float Value { get { if (_unit != Unit.Khz) return _value; return _value * 1000; } } public Unit Type => _unit; public string UnitString { get { switch (_unit) { case Unit.Khz: return Units.Khz; case Unit.Hz: return Units.Hz; default: return string.Empty; } } } public Frequency(float value, Unit unit) { _value = value; _unit = unit; } public static explicit operator float(Frequency frequency) { return frequency.Value; } public bool Equals(Frequency other) { if (_value == other._value) return _unit == other._unit; return false; } public int CompareTo(Frequency other) { return Value.CompareTo(other.Value); } public override bool Equals(object obj) { if (obj is Frequency) return Equals((Frequency)obj); return false; } public override int GetHashCode() { return _value.GetHashCode(); } public override string ToString() { return _value.ToString() + UnitString; } public string ToString(string format, IFormatProvider formatProvider) { return _value.ToString(format, formatProvider) + UnitString; } } }