<PackageReference Include="System.Memory" Version="4.5.0-rc1" />

SequencePosition

using System.ComponentModel; using System.Numerics.Hashing; namespace System { public readonly struct SequencePosition : IEquatable<SequencePosition> { private readonly object _object; private readonly int _integer; public SequencePosition(object object, int integer) { _object = object; _integer = integer; } [EditorBrowsable(EditorBrowsableState.Never)] public object GetObject() { return _object; } [EditorBrowsable(EditorBrowsableState.Never)] public int GetInteger() { return _integer; } public bool Equals(SequencePosition other) { if (_integer == other._integer) return object.Equals(_object, other._object); return false; } [EditorBrowsable(EditorBrowsableState.Never)] public override bool Equals(object obj) { object obj2; if ((obj2 = obj) is SequencePosition) { SequencePosition other = (SequencePosition)obj2; return Equals(other); } return false; } [EditorBrowsable(EditorBrowsableState.Never)] public override int GetHashCode() { return HashHelpers.Combine(_object?.GetHashCode() ?? 0, _integer); } } }