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)
215
public sealed class CultureAwareComparer : StringComparer,
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>, ISerializable
323
public class OrdinalComparer : StringComparer,
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>
435
internal sealed class OrdinalCaseSensitiveComparer : OrdinalComparer, ISerializable,
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>
481
internal 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
2345
return tables._comparer is
IAlternateEqualityComparer
<TAlternateKey, TKey>;
2350
private static
IAlternateEqualityComparer
<TAlternateKey, TKey> GetAlternateComparer<TAlternateKey>(ConcurrentDictionary<TKey, TValue>.Tables tables)
2354
return Unsafe.As<
IAlternateEqualityComparer
<TAlternateKey, TKey>>(tables._comparer!);
2417
IAlternateEqualityComparer
<TAlternateKey, TKey> comparer = GetAlternateComparer<TAlternateKey>(tables);
2576
IAlternateEqualityComparer
<TAlternateKey, TKey> comparer = GetAlternateComparer<TAlternateKey>(tables);
2622
IAlternateEqualityComparer
<TAlternateKey, TKey> comparer = GetAlternateComparer<TAlternateKey>(tables);
System.Collections.Immutable (23)
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\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 (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
731
return dictionary._comparer is
IAlternateEqualityComparer
<TAlternateKey, TKey>;
736
internal static
IAlternateEqualityComparer
<TAlternateKey, TKey> GetAlternateComparer(Dictionary<TKey, TValue> dictionary)
739
return Unsafe.As<
IAlternateEqualityComparer
<TAlternateKey, TKey>>(dictionary._comparer);
803
IAlternateEqualityComparer
<TAlternateKey, TKey> comparer = GetAlternateComparer(dictionary);
874
IAlternateEqualityComparer
<TAlternateKey, TKey> comparer = GetAlternateComparer(dictionary);
964
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)
275
int
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) =>
278
bool
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target)
289
string
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) =>
382
bool
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target)
403
int
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) =>
408
string
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) =>
456
bool
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target)
467
int
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) =>
470
string
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Create(ReadOnlySpan<char> span) =>
538
bool
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.Equals(ReadOnlySpan<char> span, string? target)
549
int
IAlternateEqualityComparer
<ReadOnlySpan<char>, string?>.GetHashCode(ReadOnlySpan<char> span) =>
552
string
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)
223
Debug.Assert(dictionary.Comparer is
IAlternateEqualityComparer
<ReadOnlySpan<char>, string>);