OrdinalStringFrozenDictionary_RightJustifiedCaseInsensitiveSubstring<TValue>
sealed class OrdinalStringFrozenDictionary_RightJustifiedCaseInsensitiveSubstring<TValue> : OrdinalStringFrozenDictionary<TValue>
using System.Collections.Generic;
using System.Runtime.CompilerServices;
namespace System.Collections.Frozen
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(new byte[] {
0,
1
})]
internal sealed class OrdinalStringFrozenDictionary_RightJustifiedCaseInsensitiveSubstring<[System.Runtime.CompilerServices.Nullable(2)] TValue> : OrdinalStringFrozenDictionary<TValue>
{
internal OrdinalStringFrozenDictionary_RightJustifiedCaseInsensitiveSubstring(string[] keys, TValue[] values, IEqualityComparer<string> comparer, int minimumLength, int maximumLengthDiff, int hashIndex, int hashCount)
: base(keys, values, comparer, minimumLength, maximumLengthDiff, hashIndex, hashCount)
{
}
[return: System.Runtime.CompilerServices.IsReadOnly]
private protected override ref TValue GetValueRefOrNullRefCore(string key)
{
return ref base.GetValueRefOrNullRefCore(key);
}
[return: System.Runtime.CompilerServices.IsReadOnly]
private protected override ref TValue GetValueRefOrNullRefCore<TAlternateKey>(TAlternateKey key)
{
return ref base.GetValueRefOrNullRefCore(key);
}
[System.Runtime.CompilerServices.NullableContext(2)]
private protected override bool Equals(string x, string y)
{
return StringComparer.OrdinalIgnoreCase.Equals(x, y);
}
[System.Runtime.CompilerServices.NullableContext(0)]
private protected override bool Equals(ReadOnlySpan<char> x, [System.Runtime.CompilerServices.Nullable(2)] string y)
{
return MemoryExtensions.Equals(x, y.AsSpan(), StringComparison.OrdinalIgnoreCase);
}
private protected override int GetHashCode(string s)
{
return Hashing.GetHashCodeOrdinalIgnoreCase(s.AsSpan(s.Length + base.HashIndex, base.HashCount));
}
[System.Runtime.CompilerServices.NullableContext(0)]
private protected override int GetHashCode(ReadOnlySpan<char> s)
{
return Hashing.GetHashCodeOrdinalIgnoreCase(s.Slice(s.Length + base.HashIndex, base.HashCount));
}
}
}