<PackageReference Include="Microsoft.Extensions.Primitives" Version="10.0.10" />

Microsoft.Extensions.Primitives.StringValues

public struct StringValues : IList<string>, ICollection<string>, IEnumerable<string>, IEnumerable, IReadOnlyList<string>, IReadOnlyCollection<string>, IEquatable<StringValues>, IEquatable<string>, IEquatable<string[]>
Represents zero/null, one, or many strings in an efficient way.
namespace Microsoft.Extensions.Primitives { public readonly struct StringValues : IList<string>, ICollection<string>, IEnumerable<string>, IEnumerable, IReadOnlyList<string>, IReadOnlyCollection<string>, IEquatable<StringValues>, IEquatable<string>, IEquatable<string[]> { public struct Enumerator : IEnumerator<string>, IEnumerator, IDisposable { public string Current { get; } public Enumerator(ref StringValues values); public bool MoveNext(); public void Dispose(); } public static readonly StringValues Empty; public int Count { get; } string IList<string>.this[int index] { get; set; } public string this[int index] { [MethodImpl(MethodImplOptions.AggressiveInlining)] get; } public StringValues(string value); public StringValues(string[] values); public static implicit operator StringValues(string value); public static implicit operator StringValues(string[] values); public static implicit operator string(StringValues values); public static implicit operator string[](StringValues value); public string[] ToArray(); public Enumerator GetEnumerator(); public static bool IsNullOrEmpty(StringValues value); public static StringValues Concat(StringValues values1, StringValues values2); public static StringValues Concat(ref StringValues values, string value); public static StringValues Concat(string value, ref StringValues values); public static bool Equals(StringValues left, StringValues right); public static bool operator ==(StringValues left, StringValues right); public static bool operator !=(StringValues left, StringValues right); public bool Equals(StringValues other); public static bool Equals(string left, StringValues right); public static bool Equals(StringValues left, string right); public bool Equals(string other); public static bool Equals(string[] left, StringValues right); public static bool Equals(StringValues left, string[] right); public bool Equals(string[] other); public static bool operator ==(StringValues left, string right); public static bool operator !=(StringValues left, string right); public static bool operator ==(string left, StringValues right); public static bool operator !=(string left, StringValues right); public static bool operator ==(StringValues left, string[] right); public static bool operator !=(StringValues left, string[] right); public static bool operator ==(string[] left, StringValues right); public static bool operator !=(string[] left, StringValues right); public static bool operator ==(StringValues left, object right); public static bool operator !=(StringValues left, object right); public static bool operator ==(object left, StringValues right); public static bool operator !=(object left, StringValues right); } }