<PackageReference Include="System.Diagnostics.DiagnosticSource" Version="7.0.0-preview.2.22152.2" />

ObjectSequenceMany

namespace System.Diagnostics.Metrics { internal struct ObjectSequenceMany : IEquatable<ObjectSequenceMany>, IObjectSequence { private readonly object[] _values; public object this[int i] { get { return _values[i]; } set { _values[i] = value; } } public ObjectSequenceMany(object[] values) { _values = values; } public bool Equals(ObjectSequenceMany other) { if (_values.Length != other._values.Length) return false; for (int i = 0; i < _values.Length; i++) { object obj = _values[i]; object obj2 = other._values[i]; if (obj == null) { if (obj2 != null) return false; } else if (!obj.Equals(obj2)) { return false; } } return true; } public override bool Equals(object obj) { if (obj is ObjectSequenceMany) { ObjectSequenceMany other = (ObjectSequenceMany)obj; return Equals(other); } return false; } public override int GetHashCode() { int num = 0; for (int i = 0; i < _values.Length; i++) { num <<= 3; object obj = _values[i]; if (obj != null) num ^= obj.GetHashCode(); } return num; } } }