<PackageReference Include="System.Diagnostics.DiagnosticSource" Version="10.0.0-preview.1.25080.5" />

StringSequenceMany

namespace System.Diagnostics.Metrics { internal struct StringSequenceMany : IEquatable<StringSequenceMany>, IStringSequence { private readonly string[] _values; public string this[int i] { get { return _values[i]; } set { _values[i] = value; } } public int Length => _values.Length; public StringSequenceMany(string[] values) { _values = values; } public Span<string> AsSpan() { return _values.AsSpan(); } public bool Equals(StringSequenceMany other) { return _values.AsSpan().SequenceEqual(other._values.AsSpan()); } public override bool Equals(object obj) { if (obj is StringSequenceMany) { StringSequenceMany other = (StringSequenceMany)obj; return Equals(other); } return false; } public override int GetHashCode() { int num = 0; for (int i = 0; i < _values.Length; i++) { num <<= 3; num ^= _values[i].GetHashCode(); } return num; } } }