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)
213public sealed class CultureAwareComparer : StringComparer, IAlternateEqualityComparer<ReadOnlySpan<char>, string?>, ISerializable 321public class OrdinalComparer : StringComparer, IAlternateEqualityComparer<ReadOnlySpan<char>, string?> 433internal sealed class OrdinalCaseSensitiveComparer : OrdinalComparer, ISerializable, IAlternateEqualityComparer<ReadOnlySpan<char>, string?> 479internal sealed class OrdinalIgnoreCaseComparer : OrdinalComparer, IAlternateEqualityComparer<ReadOnlySpan<char>, string?>, ISerializable
74 references to IAlternateEqualityComparer
System.Collections.Immutable (24)
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\Int32\Int32FrozenSet.AlternateLookup.cs (1)
39var comparer = GetAlternateEqualityComparer<TAlternate>();
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 (48)
src\libraries\System.Private.CoreLib\src\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 2315return tables._comparer is IAlternateEqualityComparer<TAlternateKey, TKey>; 2320private static IAlternateEqualityComparer<TAlternateKey, TKey> GetAlternateComparer<TAlternateKey>(ConcurrentDictionary<TKey, TValue>.Tables tables) 2324return Unsafe.As<IAlternateEqualityComparer<TAlternateKey, TKey>>(tables._comparer!); 2387IAlternateEqualityComparer<TAlternateKey, TKey> comparer = GetAlternateComparer<TAlternateKey>(tables); 2546IAlternateEqualityComparer<TAlternateKey, TKey> comparer = GetAlternateComparer<TAlternateKey>(tables); 2592IAlternateEqualityComparer<TAlternateKey, TKey> comparer = GetAlternateComparer<TAlternateKey>(tables);
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\Dictionary.cs (8)
647/// The dictionary must be using a comparer that implements <see cref="IAlternateEqualityComparer{TAlternateKey, TKey}"/> with 669/// The dictionary must be using a comparer that implements <see cref="IAlternateEqualityComparer{TAlternateKey, TKey}"/> with 732return dictionary._comparer is IAlternateEqualityComparer<TAlternateKey, TKey>; 737internal static IAlternateEqualityComparer<TAlternateKey, TKey> GetAlternateComparer(Dictionary<TKey, TValue> dictionary) 740return Unsafe.As<IAlternateEqualityComparer<TAlternateKey, TKey>>(dictionary._comparer)!; 804IAlternateEqualityComparer<TAlternateKey, TKey> comparer = GetAlternateComparer(dictionary); 875IAlternateEqualityComparer<TAlternateKey, TKey> comparer = GetAlternateComparer(dictionary); 965IAlternateEqualityComparer<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)
273int IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) => 276bool IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target) 287string IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) => 380bool IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target) 401int IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) => 406string IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) => 454bool IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target) 465int IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) => 468string IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) => 536bool IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target) 547int IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) => 550string IAlternateEqualityComparer<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) =>
System.Runtime (1)
artifacts\obj\System.Runtime\Debug\net11.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)
199Debug.Assert(dictionary.Comparer is IAlternateEqualityComparer<ReadOnlySpan<char>, string>);