<PackageReference Include="System.Diagnostics.DiagnosticSource" Version="6.0.1" />

StringSequence3

using System.Runtime.InteropServices; namespace System.Diagnostics.Metrics { internal struct StringSequence3 : IEquatable<StringSequence3>, IStringSequence { public string Value1; public string Value2; public string Value3; public StringSequence3(string value1, string value2, string value3) { Value1 = value1; Value2 = value2; Value3 = value3; } public bool Equals(StringSequence3 other) { if (Value1 == other.Value1 && Value2 == other.Value2) return Value3 == other.Value3; return false; } public override bool Equals(object obj) { if (obj is StringSequence3) { StringSequence3 other = (StringSequence3)obj; return Equals(other); } return false; } public Span<string> AsSpan() { return MemoryMarshal.CreateSpan(ref Value1, 3); } public override int GetHashCode() { return HashCode.Combine(Value1, Value2, Value3); } } }