9 implementations of IAlternateEqualityComparer
System.Private.CoreLib (9)
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\EqualityComparer.cs (1)
272
IAlternateEqualityComparer
<ReadOnlySpan<char>, string>,
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\NonRandomizedStringEqualityComparer.cs (2)
77
private sealed class OrdinalComparer : NonRandomizedStringEqualityComparer,
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>
109
private sealed class OrdinalIgnoreCaseComparer : NonRandomizedStringEqualityComparer,
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\RandomizedStringEqualityComparer.cs (2)
50
private sealed class OrdinalComparer : RandomizedStringEqualityComparer,
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>
95
private sealed class OrdinalIgnoreCaseComparer : RandomizedStringEqualityComparer,
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>
src\libraries\System.Private.CoreLib\src\System\StringComparer.cs (4)
213
public sealed class CultureAwareComparer : StringComparer,
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>, ISerializable
321
public class OrdinalComparer : StringComparer,
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>
433
internal sealed class OrdinalCaseSensitiveComparer : OrdinalComparer, ISerializable,
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>
479
internal sealed class OrdinalIgnoreCaseComparer : OrdinalComparer,
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>, ISerializable
74 references to IAlternateEqualityComparer
System.Collections.Immutable (24)
System\Collections\Frozen\DefaultFrozenDictionary.AlternateLookup.cs (1)
41
IAlternateEqualityComparer
<TAlternateKey, TKey> comparer = GetAlternateEqualityComparer<TAlternateKey>();
System\Collections\Frozen\DefaultFrozenSet.AlternateLookup.cs (1)
37
IAlternateEqualityComparer
<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
53
if (Comparer is
IAlternateEqualityComparer
<TAlternateKey, TKey> &&
64
/// <summary>Gets the <see cref="Comparer"/> as an <see cref="
IAlternateEqualityComparer
{TAlternate, T}"/>.</summary>
66
private protected
IAlternateEqualityComparer
<TAlternateKey, TKey> GetAlternateEqualityComparer<TAlternateKey>() where TAlternateKey : notnull, allows ref struct
68
Debug.Assert(Comparer is
IAlternateEqualityComparer
<TAlternateKey, TKey>, "Must have already been verified");
69
return Unsafe.As<
IAlternateEqualityComparer
<TAlternateKey, TKey>>(Comparer);
85
Debug.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
53
if (Comparer is
IAlternateEqualityComparer
<TAlternate, T> &&
64
/// <summary>Gets the <see cref="Comparer"/> as an <see cref="
IAlternateEqualityComparer
{TAlternate, T}"/>.</summary>
66
private protected
IAlternateEqualityComparer
<TAlternate, T> GetAlternateEqualityComparer<TAlternate>() where TAlternate : allows ref struct
68
Debug.Assert(Comparer is
IAlternateEqualityComparer
<TAlternate, T>, "Must have already been verified");
69
return Unsafe.As<
IAlternateEqualityComparer
<TAlternate, T>>(Comparer);
85
Debug.Assert(set.Comparer is
IAlternateEqualityComparer
<TAlternate, T>);
System\Collections\Frozen\Int32\Int32FrozenDictionary.AlternateLookup.cs (1)
42
IAlternateEqualityComparer
<TAlternateKey, int> comparer = GetAlternateEqualityComparer<TAlternateKey>();
System\Collections\Frozen\Int32\Int32FrozenSet.AlternateLookup.cs (1)
39
var
comparer = GetAlternateEqualityComparer<TAlternate>();
System\Collections\Frozen\SmallFrozenDictionary.AlternateLookup.cs (1)
41
IAlternateEqualityComparer
<TAlternateKey, TKey> comparer = GetAlternateEqualityComparer<TAlternateKey>();
System\Collections\Frozen\SmallFrozenSet.AlternateLookup.cs (1)
37
IAlternateEqualityComparer
<TAlternate, T> comparer = GetAlternateEqualityComparer<TAlternate>();
System\Collections\Frozen\String\LengthBucketsFrozenDictionary.AlternateLookup.cs (1)
29
IAlternateEqualityComparer
<ReadOnlySpan<char>, string> comparer = GetAlternateEqualityComparer<ReadOnlySpan<char>>();
System\Collections\Frozen\String\LengthBucketsFrozenSet.AlternateLookup.cs (1)
29
IAlternateEqualityComparer
<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
2315
return tables._comparer is
IAlternateEqualityComparer
<TAlternateKey, TKey>;
2320
private static
IAlternateEqualityComparer
<TAlternateKey, TKey> GetAlternateComparer<TAlternateKey>(ConcurrentDictionary<TKey, TValue>.Tables tables)
2324
return Unsafe.As<
IAlternateEqualityComparer
<TAlternateKey, TKey>>(tables._comparer!);
2387
IAlternateEqualityComparer
<TAlternateKey, TKey> comparer = GetAlternateComparer<TAlternateKey>(tables);
2546
IAlternateEqualityComparer
<TAlternateKey, TKey> comparer = GetAlternateComparer<TAlternateKey>(tables);
2592
IAlternateEqualityComparer
<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
732
return dictionary._comparer is
IAlternateEqualityComparer
<TAlternateKey, TKey>;
737
internal static
IAlternateEqualityComparer
<TAlternateKey, TKey> GetAlternateComparer(Dictionary<TKey, TValue> dictionary)
740
return Unsafe.As<
IAlternateEqualityComparer
<TAlternateKey, TKey>>(dictionary._comparer)!;
804
IAlternateEqualityComparer
<TAlternateKey, TKey> comparer = GetAlternateComparer(dictionary);
875
IAlternateEqualityComparer
<TAlternateKey, TKey> comparer = GetAlternateComparer(dictionary);
965
IAlternateEqualityComparer
<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
439
return set._comparer is
IAlternateEqualityComparer
<TAlternate, T>;
444
internal static
IAlternateEqualityComparer
<TAlternate, T> GetAlternateComparer(HashSet<T> set)
447
return Unsafe.As<
IAlternateEqualityComparer
<TAlternate, T>>(set._comparer)!;
456
IAlternateEqualityComparer
<TAlternate, T> comparer = GetAlternateComparer(set);
544
IAlternateEqualityComparer
<TAlternate, T> comparer = GetAlternateComparer(set);
629
IAlternateEqualityComparer
<TAlternate, T> comparer = GetAlternateComparer(set);
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\NonRandomizedStringEqualityComparer.cs (6)
91
int
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) =>
94
bool
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target)
105
string
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) =>
123
int
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) =>
126
bool
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target)
137
string
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) =>
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\RandomizedStringEqualityComparer.cs (6)
57
string
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) =>
62
bool
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> alternate, string? other)
88
int
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> alternate) =>
102
string
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) =>
107
bool
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> alternate, string? other)
133
int
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> alternate) =>
src\libraries\System.Private.CoreLib\src\System\StringComparer.cs (12)
273
int
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) =>
276
bool
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target)
287
string
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) =>
380
bool
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target)
401
int
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) =>
406
string
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) =>
454
bool
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target)
465
int
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) =>
468
string
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) =>
536
bool
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target)
547
int
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) =>
550
string
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)
199
Debug.Assert(dictionary.Comparer is
IAlternateEqualityComparer
<ReadOnlySpan<char>, string>);