9 implementations of IAlternateEqualityComparer
System.Private.CoreLib (9)
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\EqualityComparer.cs (1)
272IAlternateEqualityComparer<ReadOnlySpan<char>, string>,
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\NonRandomizedStringEqualityComparer.cs (2)
77private sealed class OrdinalComparer : NonRandomizedStringEqualityComparer, IAlternateEqualityComparer<ReadOnlySpan<char>, string?> 109private sealed class OrdinalIgnoreCaseComparer : NonRandomizedStringEqualityComparer, IAlternateEqualityComparer<ReadOnlySpan<char>, string?>
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\RandomizedStringEqualityComparer.cs (2)
50private sealed class OrdinalComparer : RandomizedStringEqualityComparer, IAlternateEqualityComparer<ReadOnlySpan<char>, string?> 95private sealed class OrdinalIgnoreCaseComparer : RandomizedStringEqualityComparer, IAlternateEqualityComparer<ReadOnlySpan<char>, string?>
src\libraries\System.Private.CoreLib\src\System\StringComparer.cs (4)
215public sealed class CultureAwareComparer : StringComparer, IAlternateEqualityComparer<ReadOnlySpan<char>, string?>, ISerializable 323public class OrdinalComparer : StringComparer, IAlternateEqualityComparer<ReadOnlySpan<char>, string?> 435internal sealed class OrdinalCaseSensitiveComparer : OrdinalComparer, ISerializable, IAlternateEqualityComparer<ReadOnlySpan<char>, string?> 481internal sealed class OrdinalIgnoreCaseComparer : OrdinalComparer, IAlternateEqualityComparer<ReadOnlySpan<char>, string?>, ISerializable
73 references to IAlternateEqualityComparer
System.Collections.Concurrent (8)
System\Collections\Concurrent\ConcurrentDictionary.cs (8)
240/// This instance must be using a comparer that implements <see cref="IAlternateEqualityComparer{TAlternateKey, TKey}"/> with 261/// This instance must be using a comparer that implements <see cref="IAlternateEqualityComparer{TAlternateKey, TKey}"/> with 2345return tables._comparer is IAlternateEqualityComparer<TAlternateKey, TKey>; 2350private static IAlternateEqualityComparer<TAlternateKey, TKey> GetAlternateComparer<TAlternateKey>(ConcurrentDictionary<TKey, TValue>.Tables tables) 2354return Unsafe.As<IAlternateEqualityComparer<TAlternateKey, TKey>>(tables._comparer!); 2417IAlternateEqualityComparer<TAlternateKey, TKey> comparer = GetAlternateComparer<TAlternateKey>(tables); 2576IAlternateEqualityComparer<TAlternateKey, TKey> comparer = GetAlternateComparer<TAlternateKey>(tables); 2622IAlternateEqualityComparer<TAlternateKey, TKey> comparer = GetAlternateComparer<TAlternateKey>(tables);
System.Collections.Immutable (23)
System\Collections\Frozen\DefaultFrozenDictionary.AlternateLookup.cs (1)
41IAlternateEqualityComparer<TAlternateKey, TKey> comparer = GetAlternateEqualityComparer<TAlternateKey>();
System\Collections\Frozen\DefaultFrozenSet.AlternateLookup.cs (1)
37IAlternateEqualityComparer<TAlternate, T> comparer = GetAlternateEqualityComparer<TAlternate>();
System\Collections\Frozen\FrozenDictionary.AlternateLookup.cs (8)
21/// This instance must be using a comparer that implements <see cref="IAlternateEqualityComparer{TAlternateKey, TKey}"/> with 42/// This instance must be using a comparer that implements <see cref="IAlternateEqualityComparer{TAlternateKey, TKey}"/> with 53if (Comparer is IAlternateEqualityComparer<TAlternateKey, TKey> && 64/// <summary>Gets the <see cref="Comparer"/> as an <see cref="IAlternateEqualityComparer{TAlternate, T}"/>.</summary> 66private protected IAlternateEqualityComparer<TAlternateKey, TKey> GetAlternateEqualityComparer<TAlternateKey>() where TAlternateKey : notnull, allows ref struct 68Debug.Assert(Comparer is IAlternateEqualityComparer<TAlternateKey, TKey>, "Must have already been verified"); 69return Unsafe.As<IAlternateEqualityComparer<TAlternateKey, TKey>>(Comparer); 85Debug.Assert(dictionary.Comparer is IAlternateEqualityComparer<TAlternateKey, TKey>);
System\Collections\Frozen\FrozenSet.AlternateLookup.cs (8)
21/// This instance must be using a comparer that implements <see cref="IAlternateEqualityComparer{TAlternate, T}"/> with 42/// This instance must be using a comparer that implements <see cref="IAlternateEqualityComparer{TAlternate, T}"/> with 53if (Comparer is IAlternateEqualityComparer<TAlternate, T> && 64/// <summary>Gets the <see cref="Comparer"/> as an <see cref="IAlternateEqualityComparer{TAlternate, T}"/>.</summary> 66private protected IAlternateEqualityComparer<TAlternate, T> GetAlternateEqualityComparer<TAlternate>() where TAlternate : allows ref struct 68Debug.Assert(Comparer is IAlternateEqualityComparer<TAlternate, T>, "Must have already been verified"); 69return Unsafe.As<IAlternateEqualityComparer<TAlternate, T>>(Comparer); 85Debug.Assert(set.Comparer is IAlternateEqualityComparer<TAlternate, T>);
System\Collections\Frozen\Int32\Int32FrozenDictionary.AlternateLookup.cs (1)
42IAlternateEqualityComparer<TAlternateKey, int> comparer = GetAlternateEqualityComparer<TAlternateKey>();
System\Collections\Frozen\SmallFrozenDictionary.AlternateLookup.cs (1)
41IAlternateEqualityComparer<TAlternateKey, TKey> comparer = GetAlternateEqualityComparer<TAlternateKey>();
System\Collections\Frozen\SmallFrozenSet.AlternateLookup.cs (1)
37IAlternateEqualityComparer<TAlternate, T> comparer = GetAlternateEqualityComparer<TAlternate>();
System\Collections\Frozen\String\LengthBucketsFrozenDictionary.AlternateLookup.cs (1)
29IAlternateEqualityComparer<ReadOnlySpan<char>, string> comparer = GetAlternateEqualityComparer<ReadOnlySpan<char>>();
System\Collections\Frozen\String\LengthBucketsFrozenSet.AlternateLookup.cs (1)
29IAlternateEqualityComparer<ReadOnlySpan<char>, string> comparer = GetAlternateEqualityComparer<ReadOnlySpan<char>>();
System.Private.CoreLib (40)
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\Dictionary.cs (8)
646/// The dictionary must be using a comparer that implements <see cref="IAlternateEqualityComparer{TAlternateKey, TKey}"/> with 668/// The dictionary must be using a comparer that implements <see cref="IAlternateEqualityComparer{TAlternateKey, TKey}"/> with 731return dictionary._comparer is IAlternateEqualityComparer<TAlternateKey, TKey>; 736internal static IAlternateEqualityComparer<TAlternateKey, TKey> GetAlternateComparer(Dictionary<TKey, TValue> dictionary) 739return Unsafe.As<IAlternateEqualityComparer<TAlternateKey, TKey>>(dictionary._comparer); 803IAlternateEqualityComparer<TAlternateKey, TKey> comparer = GetAlternateComparer(dictionary); 874IAlternateEqualityComparer<TAlternateKey, TKey> comparer = GetAlternateComparer(dictionary); 964IAlternateEqualityComparer<TAlternateKey, TKey> comparer = GetAlternateComparer(dictionary);
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\HashSet.cs (8)
378/// The set must be using a comparer that implements <see cref="IAlternateEqualityComparer{TAlternate, T}"/> with 400/// The set must be using a comparer that implements <see cref="IAlternateEqualityComparer{TAlternate, T}"/> with 439return set._comparer is IAlternateEqualityComparer<TAlternate, T>; 444internal static IAlternateEqualityComparer<TAlternate, T> GetAlternateComparer(HashSet<T> set) 447return Unsafe.As<IAlternateEqualityComparer<TAlternate, T>>(set._comparer); 456IAlternateEqualityComparer<TAlternate, T> comparer = GetAlternateComparer(set); 544IAlternateEqualityComparer<TAlternate, T> comparer = GetAlternateComparer(set); 629IAlternateEqualityComparer<TAlternate, T> comparer = GetAlternateComparer(set);
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\NonRandomizedStringEqualityComparer.cs (6)
91int IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) => 94bool IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target) 105string IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) => 123int IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) => 126bool IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target) 137string IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) =>
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\RandomizedStringEqualityComparer.cs (6)
57string IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) => 62bool IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> alternate, string? other) 88int IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> alternate) => 102string IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) => 107bool IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> alternate, string? other) 133int IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> alternate) =>
src\libraries\System.Private.CoreLib\src\System\StringComparer.cs (12)
275int IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) => 278bool IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target) 289string IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) => 382bool IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target) 403int IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) => 408string IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) => 456bool IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target) 467int IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) => 470string IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) => 538bool IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target) 549int IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) => 552string IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) =>
System.Runtime (1)
artifacts\obj\System.Runtime\Debug\net10.0\System.Runtime.Forwards.cs (1)
76[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Collections.Generic.IAlternateEqualityComparer<,>))]
System.Text.Json (1)
System\Text\Json\JsonHelpers.cs (1)
223Debug.Assert(dictionary.Comparer is IAlternateEqualityComparer<ReadOnlySpan<char>, string>);