5 interfaces inheriting from IEqualityComparer
Microsoft.Build (1)
IConstrainedEqualityComparer.cs (1)
14internal interface IConstrainedEqualityComparer<in T> : IEqualityComparer<T>
Microsoft.Build.Tasks.Core (1)
IConstrainedEqualityComparer.cs (1)
14internal interface IConstrainedEqualityComparer<in T> : IEqualityComparer<T>
Microsoft.Build.Utilities.Core (1)
IConstrainedEqualityComparer.cs (1)
14internal interface IConstrainedEqualityComparer<in T> : IEqualityComparer<T>
MSBuild (1)
IConstrainedEqualityComparer.cs (1)
14internal interface IConstrainedEqualityComparer<in T> : IEqualityComparer<T>
System.Private.CoreLib (1)
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\IInternalStringEqualityComparer.cs (1)
12internal interface IInternalStringEqualityComparer : IEqualityComparer<string?>
359 implementations of IEqualityComparer
Aspire.Dashboard (2)
Otlp\Model\OtlpApplication.cs (1)
300private sealed class ApplicationViewKeyComparer : IEqualityComparer<KeyValuePair<string, string>[]>
Otlp\Model\OtlpInstrument.cs (1)
122private sealed class ScopeAttributesComparer : IEqualityComparer<ReadOnlyMemory<KeyValuePair<string, string>>>
Aspire.Dashboard.Components.Tests (1)
tests\Shared\Logging\LogValuesAssert.cs (1)
57private sealed class LogValueComparer : IEqualityComparer<KeyValuePair<string, object>>
Aspire.Dashboard.Tests (1)
tests\Shared\Logging\LogValuesAssert.cs (1)
57private sealed class LogValueComparer : IEqualityComparer<KeyValuePair<string, object>>
Aspire.Hosting.Testing.Tests (1)
tests\Shared\Logging\LogValuesAssert.cs (1)
57private sealed class LogValueComparer : IEqualityComparer<KeyValuePair<string, object>>
Aspire.Hosting.Tests (1)
tests\Shared\Logging\LogValuesAssert.cs (1)
57private sealed class LogValueComparer : IEqualityComparer<KeyValuePair<string, object>>
Aspire.Playground.Tests (1)
tests\Shared\Logging\LogValuesAssert.cs (1)
57private sealed class LogValueComparer : IEqualityComparer<KeyValuePair<string, object>>
BuildActionTelemetryTable (1)
Program.cs (1)
686private class FullNameTypeComparer : IEqualityComparer<Type>
BuildValidator (1)
FileNameEqualityComparer.cs (1)
11internal sealed class FileNameEqualityComparer : IEqualityComparer<FileInfo>
dotnet-dev-certs (1)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
dotnet-svcutil-lib (7)
FrameworkFork\Microsoft.Xml\Xml\Core\SecureStringHasher.cs (1)
17internal class SecureStringHasher : IEqualityComparer<String>
FrameworkFork\System.Runtime.Serialization\System\Runtime\Serialization\DataContract.cs (1)
2549internal class TypeHandleRefEqualityComparer : IEqualityComparer<TypeHandleRef>
FrameworkFork\System.ServiceModel\System\IdentityModel\Claims\ClaimComparer.cs (1)
16internal class ClaimComparer : IEqualityComparer<Claim>
FrameworkFork\System.ServiceModel\System\ServiceModel\Description\DataContractSerializerOperationGenerator.cs (1)
236private class CodeTypeReferenceComparer : IEqualityComparer<CodeTypeReference>
FrameworkFork\System.ServiceModel\System\ServiceModel\Description\ServiceContractGenerator.cs (1)
627private class MessageDescriptionComparer : IEqualityComparer<MessageDescription>
FrameworkFork\System.ServiceModel\System\ServiceModel\Dispatcher\OperationFormatter.cs (1)
899internal class QNameComparer : IEqualityComparer<QName>
FrameworkFork\System.ServiceModel\System\ServiceModel\Security\InMemoryNonceCache.cs (1)
92internal sealed class NonceKeyComparer : IEqualityComparer, System.Collections.Generic.IEqualityComparer<byte[]>
Microsoft.Arcade.Test.Common (1)
AssertEx.cs (1)
23private class AssertEqualityComparer<T> : IEqualityComparer<T>
Microsoft.AspNetCore.App.Analyzers (1)
Infrastructure\AmbiguousRoutePatternComparer.cs (1)
15internal sealed class AmbiguousRoutePatternComparer : IEqualityComparer<RoutePatternTree>
Microsoft.AspNetCore.Components (4)
Rendering\SimplifiedStringHashComparer.cs (1)
16internal sealed class SimplifiedStringHashComparer : IEqualityComparer<string>
Routing\QueryParameterNameComparer.cs (1)
8internal sealed class QueryParameterNameComparer : IComparer<ReadOnlyMemory<char>>, IEqualityComparer<ReadOnlyMemory<char>>
Routing\RouteTableFactory.cs (1)
300private sealed class InboundRouteEntryAmbiguityEqualityComparer : IEqualityComparer<InboundRouteEntry>
src\Http\Routing\src\RouteValueEqualityComparer.cs (1)
22internal class RouteValueEqualityComparer : IEqualityComparer<object?>
Microsoft.AspNetCore.Components.Server.Tests (1)
src\SignalR\common\SignalR.Common\test\Internal\Protocol\TestHubMessageEqualityComparer.cs (1)
11public class TestHubMessageEqualityComparer : IEqualityComparer<HubMessage>
Microsoft.AspNetCore.Components.Tests (1)
Routing\TemplateParserTests.cs (1)
283private class RouteTemplateTestComparer : IEqualityComparer<RoutePattern>
Microsoft.AspNetCore.Components.WebView (1)
src\Shared\StaticWebAssets\ManifestStaticWebAssetFileProvider.cs (1)
301private sealed class FileNameComparer : IEqualityComparer<IFileInfo>
Microsoft.AspNetCore.DataProtection.Tests (1)
XmlAssert.cs (1)
128private sealed class CallbackBasedEqualityComparer<T> : IEqualityComparer<T>
Microsoft.AspNetCore.DeveloperCertificates.XPlat (1)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
Microsoft.AspNetCore.Grpc.JsonTranscoding.Tests (1)
ConverterTests\JsonElementComparer.cs (1)
9public class JsonElementComparer : IEqualityComparer<JsonElement>
Microsoft.AspNetCore.Hosting (1)
src\Shared\StaticWebAssets\ManifestStaticWebAssetFileProvider.cs (1)
301private sealed class FileNameComparer : IEqualityComparer<IFileInfo>
Microsoft.AspNetCore.Http.RequestDelegateGenerator (2)
StaticRouteHandlerModel\EndpointDelegateComparer.cs (1)
8internal sealed class EndpointDelegateComparer : IEqualityComparer<Endpoint>
StaticRouteHandlerModel\EndpointHttpMethodComparer.cs (1)
9internal sealed class EndpointHttpMethodComparer : IEqualityComparer<Endpoint>
Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test (1)
UserStoreWithGenericsTest.cs (1)
174public class ClaimEqualityComparer : IEqualityComparer<Claim>
Microsoft.AspNetCore.InternalTesting (1)
Logging\LogValuesAssert.cs (1)
59private sealed class LogValueComparer : IEqualityComparer<KeyValuePair<string, object>>
Microsoft.AspNetCore.Mvc.ApiExplorer (1)
DefaultApiDescriptionProvider.cs (1)
702private sealed class PropertyKeyEqualityComparer : IEqualityComparer<PropertyKey>
Microsoft.AspNetCore.Mvc.Core (2)
Infrastructure\StringArrayComparer.cs (1)
6internal sealed class StringArrayComparer : IEqualityComparer<string[]>
Routing\AttributeRoute.cs (1)
246private sealed class RouteInfoEqualityComparer : IEqualityComparer<RouteInfo>
Microsoft.AspNetCore.Mvc.DataAnnotations.Test (2)
DataAnnotationsMetadataProviderTest.cs (1)
1735private class KVPEnumGroupAndNameComparer : IEqualityComparer<KeyValuePair<EnumGroupAndName, string>>
ModelValidationResultComparer.cs (1)
8public class ModelValidationResultComparer : IEqualityComparer<ModelValidationResult>
Microsoft.AspNetCore.Mvc.Razor.Test (1)
src\Shared\Razor\CaseSensitiveBoundAttributeComparer.cs (1)
11internal sealed class CaseSensitiveTagHelperAttributeComparer : IEqualityComparer<TagHelperAttribute>
Microsoft.AspNetCore.Mvc.TagHelpers.Test (1)
src\Shared\Razor\CaseSensitiveBoundAttributeComparer.cs (1)
11internal sealed class CaseSensitiveTagHelperAttributeComparer : IEqualityComparer<TagHelperAttribute>
Microsoft.AspNetCore.Mvc.ViewFeatures (2)
LambdaExpressionComparer.cs (1)
10internal sealed class LambdaExpressionComparer : IEqualityComparer<LambdaExpression>
MemberExpressionCacheKeyComparer.cs (1)
6internal sealed class MemberExpressionCacheKeyComparer : IEqualityComparer<MemberExpressionCacheKey>
Microsoft.AspNetCore.OpenApi (1)
Comparers\OpenApiTagComparer.cs (1)
12internal sealed class OpenApiTagComparer : IEqualityComparer<OpenApiTag>
Microsoft.AspNetCore.RateLimiting (1)
DefaultKeyTypeEqualityComparer.cs (1)
8internal sealed class DefaultKeyTypeEqualityComparer : IEqualityComparer<DefaultKeyType>
Microsoft.AspNetCore.Razor.Runtime.Test (1)
src\Shared\Razor\CaseSensitiveBoundAttributeComparer.cs (1)
11internal sealed class CaseSensitiveTagHelperAttributeComparer : IEqualityComparer<TagHelperAttribute>
Microsoft.AspNetCore.Razor.Test (1)
src\Shared\Razor\CaseSensitiveBoundAttributeComparer.cs (1)
11internal sealed class CaseSensitiveTagHelperAttributeComparer : IEqualityComparer<TagHelperAttribute>
Microsoft.AspNetCore.Routing (3)
DecisionTree\DecisionCriterionValueEqualityComparer.cs (1)
6internal sealed class DecisionCriterionValueEqualityComparer : IEqualityComparer<DecisionCriterionValue>
Matching\EndpointComparer.cs (1)
23internal sealed class EndpointComparer : IComparer<Endpoint>, IEqualityComparer<Endpoint>
RouteValueEqualityComparer.cs (1)
20public class RouteValueEqualityComparer : IEqualityComparer<object?>
Microsoft.AspNetCore.Routing.Tests (3)
Patterns\RoutePatternParserTest.cs (2)
639IEqualityComparer<RoutePattern>, 640IEqualityComparer<RoutePatternParameterPolicyReference>
Template\TemplateParserTests.cs (1)
809private class TemplateEqualityComparer : IEqualityComparer<RouteTemplate>
Microsoft.AspNetCore.Server.Kestrel.Core (1)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
Microsoft.AspNetCore.SignalR.Common.Tests (1)
Internal\Protocol\TestHubMessageEqualityComparer.cs (1)
11public class TestHubMessageEqualityComparer : IEqualityComparer<HubMessage>
Microsoft.Build (9)
AssemblyNameComparer.cs (1)
16internal sealed class AssemblyNameComparer : IComparer, IEqualityComparer, IEqualityComparer<AssemblyNameExtension>
BackEnd\Components\ProjectCache\ProjectCacheDescriptorEqualityComparer.cs (1)
10internal sealed class ProjectCacheDescriptorEqualityComparer : IEqualityComparer<ProjectCacheDescriptor>
BackEnd\Components\SdkResolution\SdkResolverLoader.cs (1)
163private class DirInfoNameComparer : IEqualityComparer<DirectoryInfo>
Instance\ProjectItemInstance.cs (1)
2303internal class ProjectItemInstanceEqualityComparer : IEqualityComparer<ProjectItemInstance>
Instance\TaskRegistry.cs (1)
841internal class RegisteredTaskIdentityComparer : IEqualityComparer<RegisteredTaskIdentity>
Logging\EvaluationLocationIdAgnosticComparer.cs (1)
16internal class EvaluationLocationIdAgnosticComparer : IEqualityComparer<EvaluationLocation>
Logging\ParallelLogger\ParallelLoggerHelpers.cs (2)
217internal class ComparerContextNodeId<T> : IEqualityComparer<T> 246internal class ComparerContextNodeIdTargetId<T> : IEqualityComparer<T>
MSBuildNameIgnoreCaseComparer.cs (1)
20internal class MSBuildNameIgnoreCaseComparer : IConstrainedEqualityComparer<string>, IEqualityComparer<string>
Microsoft.Build.BuildCheck.UnitTests (1)
EditorConfig_Tests.cs (1)
21private sealed class AssertEqualityComparer<T> : IEqualityComparer<T>
Microsoft.Build.Engine.UnitTests (21)
BackEnd\LoggingServicesLogMethod_Tests.cs (1)
1883private sealed class EventArgsEqualityComparer<T> : IEqualityComparer<T> where T : BuildEventArgs
TestComparers\ProjectInstanceModelTestComparers.cs (15)
22public class ProjectInstanceComparer : IEqualityComparer<ProjectInstance> 80public class TargetComparer : IEqualityComparer<ProjectTargetInstance> 116public class TargetChildComparer : IEqualityComparer<ProjectTargetInstanceChild> 149public class TargetItemGroupComparer : IEqualityComparer<ProjectItemGroupTaskInstance> 168public class TargetItemComparer : IEqualityComparer<ProjectItemGroupTaskItemInstance> 205public class TargetItemMetadataComparer : IEqualityComparer<ProjectItemGroupTaskMetadataInstance> 224public class TargetPropertyGroupComparer : IEqualityComparer<ProjectPropertyGroupTaskInstance> 244public class ItemDefinitionComparer : IEqualityComparer<ProjectItemDefinitionInstance> 260internal sealed class TargetSpecificationComparer : IEqualityComparer<TargetSpecification> 276public class TargetPropertyComparer : IEqualityComparer<ProjectPropertyGroupTaskPropertyInstance> 295public class TargetOnErrorComparer : IEqualityComparer<ProjectOnErrorInstance> 314public class TargetTaskComparer : IEqualityComparer<ProjectTaskInstance> 356public class ProjectTaskInstanceChildComparer : IEqualityComparer<ProjectTaskInstanceChild> 378public class ProjectTaskOutputItemComparer : IEqualityComparer<ProjectTaskOutputItemInstance> 399public class ProjectTaskOutputPropertyComparer : IEqualityComparer<ProjectTaskOutputPropertyInstance>
TestComparers\TaskRegistryComparers.cs (5)
18internal sealed class TaskRegistryComparer : IEqualityComparer<TaskRegistry> 43internal sealed class RegisteredTaskRecordComparer : IEqualityComparer<TaskRegistry.RegisteredTaskRecord> 71internal sealed class ParamterGroupAndTaskBodyComparer : IEqualityComparer<TaskRegistry.RegisteredTaskRecord.ParameterGroupAndTaskElementRecord> 98internal sealed class TaskPropertyInfoComparer : IEqualityComparer<TaskPropertyInfo> 116public sealed class ToolsetComparer : IEqualityComparer<Toolset>
Microsoft.Build.Tasks.Core (2)
AssemblyNameComparer.cs (1)
16internal sealed class AssemblyNameComparer : IComparer, IEqualityComparer, IEqualityComparer<AssemblyNameExtension>
MSBuildNameIgnoreCaseComparer.cs (1)
20internal class MSBuildNameIgnoreCaseComparer : IConstrainedEqualityComparer<string>, IEqualityComparer<string>
Microsoft.Build.UnitTests.Shared (1)
ObjectModelHelpers.cs (1)
2034public sealed class ElementLocationComparerIgnoringType : IEqualityComparer<ElementLocation>
Microsoft.Build.Utilities.Core (1)
MSBuildNameIgnoreCaseComparer.cs (1)
20internal class MSBuildNameIgnoreCaseComparer : IConstrainedEqualityComparer<string>, IEqualityComparer<string>
Microsoft.Cci.Extensions (6)
Comparers\StringKeyComparer.cs (1)
9public class StringKeyComparer<T> : IComparer<T>, IEqualityComparer<T>
Experimental\APIClosureTypeReferenceVisitor.cs (1)
71private class AssemblyReferenceComparer : IEqualityComparer<IAssemblyReference>
Experimental\TypeReferenceSearcher.cs (1)
36internal class TypeReferenceDependencyComparer : IEqualityComparer<TypeReferenceDependency>
Experimental\TypeReferenceVisitor.cs (1)
71private class AssemblyReferenceComparer : IEqualityComparer<IAssemblyReference>
Traversers\DependencyTraverser.cs (1)
207private class ReferenceEqualityComparer<T> : IEqualityComparer<T> where T : IReference
Traversers\ResolveAllReferencesTraverser.cs (1)
140private class ReferenceEqualityComparer : IEqualityComparer<IReference>
Microsoft.CodeAnalysis (29)
Collections\ByteSequenceComparer.cs (2)
16internal sealed class ByteSequenceComparer : IEqualityComparer<byte[]>, IEqualityComparer<ImmutableArray<byte>>
CommandLine\AnalyzerConfigSet.cs (1)
64private sealed class SequenceEqualComparer : IEqualityComparer<List<Section>>
CommandLine\SarifDiagnosticComparer.cs (1)
29internal sealed class SarifDiagnosticComparer : IEqualityComparer<DiagnosticDescriptor>
Diagnostic\CommonDiagnosticComparer.cs (1)
10internal sealed class CommonDiagnosticComparer : IEqualityComparer<Diagnostic>
DiagnosticAnalyzer\AdditionalTextComparer.cs (1)
14internal sealed class AdditionalTextComparer : IEqualityComparer<AdditionalText>
DiagnosticAnalyzer\AnalyzerFileReference.cs (1)
424private class ExtTypeComparer : IEqualityComparer<TExtension>
FileSystem\PathUtilities.cs (1)
878private class PathComparer : IEqualityComparer<string?>
InternalUtilities\CharMemoryEqualityComparer.cs (1)
13internal sealed class CharMemoryEqualityComparer : IEqualityComparer<ReadOnlyMemory<char>>
InternalUtilities\EmptyComparer.cs (1)
15internal sealed class EmptyComparer : IEqualityComparer<object>
InternalUtilities\ReadOnlyMemoryOfCharComparer.cs (2)
14internal sealed class ReadOnlyMemoryOfCharComparer : IEqualityComparer<ReadOnlyMemory<char>> 42internal sealed class EmptyReadOnlyMemoryOfCharComparer : IEqualityComparer<ReadOnlyMemory<char>>
InternalUtilities\ReferenceEqualityComparer.cs (1)
13internal class ReferenceEqualityComparer : IEqualityComparer<object?>
InternalUtilities\StringOrdinalComparer.cs (1)
17internal sealed class StringOrdinalComparer : IEqualityComparer<string>
MetadataReader\PEModule.cs (1)
777private class NamespaceHandleEqualityComparer : IEqualityComparer<NamespaceDefinitionHandle>
PEWriter\MemberRefComparer.cs (1)
11internal sealed class MemberRefComparer : IEqualityComparer<ITypeMemberReference>
PEWriter\MetadataWriter.cs (1)
4329private class ByteSequenceBoolTupleComparer : IEqualityComparer<(ImmutableArray<byte>, bool)>
PEWriter\MetadataWriter.PortablePdb.cs (1)
33internal sealed class ImportScopeEqualityComparer : IEqualityComparer<IImportScope>
PEWriter\MethodSpecComparer.cs (1)
11internal sealed class MethodSpecComparer : IEqualityComparer<IGenericMethodInstanceReference>
PEWriter\SymbolEquivalentEqualityComparer.cs (2)
14internal sealed class SymbolEquivalentEqualityComparer : IEqualityComparer<IReference?>, IEqualityComparer<INamespace?>
PEWriter\TypeSpecComparer.cs (1)
10internal sealed class TypeSpecComparer : IEqualityComparer<ITypeReference>
ReferenceManager\CommonReferenceManager.Resolution.cs (1)
570internal sealed class MetadataReferenceEqualityComparer : IEqualityComparer<MetadataReference>
SourceGeneration\UserFunction.cs (1)
24internal sealed class WrappedUserComparer<T> : IEqualityComparer<T>
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
17internal sealed class SegmentedHashSetEqualityComparer<T> : IEqualityComparer<SegmentedHashSet<T>?>
Symbols\Attributes\CommonAttributeDataComparer.cs (1)
20internal sealed class CommonAttributeDataComparer : IEqualityComparer<AttributeData>
Symbols\SymbolEqualityComparer.cs (1)
14public sealed class SymbolEqualityComparer : IEqualityComparer<ISymbol?>
Syntax\SyntaxTreeComparer.cs (1)
12internal class SyntaxTreeComparer : IEqualityComparer<SyntaxTree>
Text\SourceTextComparer.cs (1)
10internal class SourceTextComparer : IEqualityComparer<SourceText?>
Microsoft.CodeAnalysis.CodeStyle (12)
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
99internal sealed class OriginalDefinitionSymbolEqualityComparer : IEqualityComparer<ISymbol>
src\Compilers\Core\Portable\FileSystem\PathUtilities.cs (1)
878private class PathComparer : IEqualityComparer<string?>
src\Compilers\Core\Portable\InternalUtilities\ReadOnlyMemoryOfCharComparer.cs (2)
14internal sealed class ReadOnlyMemoryOfCharComparer : IEqualityComparer<ReadOnlyMemory<char>> 42internal sealed class EmptyReadOnlyMemoryOfCharComparer : IEqualityComparer<ReadOnlyMemory<char>>
src\Compilers\Core\Portable\InternalUtilities\ReferenceEqualityComparer.cs (1)
13internal class ReferenceEqualityComparer : IEqualityComparer<object?>
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
17internal sealed class SegmentedHashSetEqualityComparer<T> : IEqualityComparer<SegmentedHashSet<T>?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
837private sealed class DirectiveSyntaxEqualityComparer : IEqualityComparer<TDirectiveTriviaSyntax>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\AbstractUnnecessaryImportsProvider.cs (1)
17IEqualityComparer<TSyntaxNode>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyComparer.cs (1)
12private sealed class SymbolKeyComparer : IEqualityComparer<SymbolKey>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ImmutableArrayComparer.cs (1)
13internal sealed class ImmutableArrayComparer<T> : IEqualityComparer<ImmutableArray<T>>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
11private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.cs (1)
39internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
Microsoft.CodeAnalysis.CodeStyle.Fixes (2)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
15internal sealed class LinkedFileReferenceLocationEqualityComparer : IEqualityComparer<ReferenceLocation>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (1)
19IEqualityComparer<T> where T : SyntaxNode
Microsoft.CodeAnalysis.Collections.Package (1)
Internal\SegmentedHashSetEqualityComparer`1.cs (1)
17internal sealed class SegmentedHashSetEqualityComparer<T> : IEqualityComparer<SegmentedHashSet<T>?>
Microsoft.CodeAnalysis.CSharp (12)
Binder\DecisionDagBuilder.cs (1)
1941private sealed class DagStateEquivalence : IEqualityComparer<DagState>
Binder\Imports.cs (1)
209private class UsingTargetComparer : IEqualityComparer<NamespaceOrTypeAndUsingDirective>
BoundTree\UnboundLambda.cs (1)
1435private sealed class BindingCacheComparer : IEqualityComparer<(NamedTypeSymbol Type, bool IsExpressionTree)>
Compilation\CSharpCompilation.cs (1)
2431private sealed class InterceptorKeyComparer : IEqualityComparer<(ImmutableArray<byte> ContentHash, int Position)>
FlowAnalysis\NullableWalker.cs (2)
12715private sealed class NullabilityInfoTypeComparer : IEqualityComparer<(NullabilityInfo info, TypeSymbol? type)> 12731private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)>
Lowering\LocalRewriter\DelegateCacheContainer.cs (1)
87private sealed class CLRSignatureComparer : IEqualityComparer<(TypeSymbol? constrainedToTypeOpt, TypeSymbol delegateType, MethodSymbol targetMethod)>
Symbols\ConversionSignatureComparer.cs (1)
12internal sealed class ConversionSignatureComparer : IEqualityComparer<SourceUserDefinedConversionSymbol>
Symbols\MemberSignatureComparer.cs (1)
34internal sealed class MemberSignatureComparer : IEqualityComparer<Symbol>
Symbols\TypeSymbol.cs (1)
2349protected class ExplicitInterfaceImplementationTargetMemberEqualityComparer : IEqualityComparer<Symbol>
Syntax\SyntaxKindEqualityComparer.cs (1)
11private sealed class SyntaxKindEqualityComparer : IEqualityComparer<SyntaxKind>
Utilities\ContentHashComparer.cs (1)
13internal sealed class ContentHashComparer : IEqualityComparer<ReadOnlyMemory<byte>>
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (1)
Rename\CSharpInlineRenameServiceTests.cs (1)
28private class ContextDictionaryComparer : IEqualityComparer<ImmutableDictionary<string, ImmutableArray<(string filePath, string content)>>?>
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (1)
CodeGen\CodeGenTupleTest.cs (1)
15872private class SyntaxReferenceEqualityComparer : IEqualityComparer<SyntaxReference>
Microsoft.CodeAnalysis.CSharp.Features (2)
Completion\CompletionProviders\FunctionPointerUnmanagedCallingConventionCompletionProvider.cs (1)
125private sealed class CompletionItemComparer : IEqualityComparer<CompletionItem>
Completion\CompletionProviders\NamedParameterCompletionProvider.cs (1)
31internal sealed partial class NamedParameterCompletionProvider : LSPCompletionProvider, IEqualityComparer<IParameterSymbol>
Microsoft.CodeAnalysis.CSharp.Workspaces (1)
Simplification\Simplifiers\ExpressionSimplifier.CandidateSymbolEqualityComparer.cs (1)
16private sealed class CandidateSymbolEqualityComparer : IEqualityComparer<ISymbol>
Microsoft.CodeAnalysis.EditorFeatures (5)
EditorConfigSettings\DataProvider\Analyzer\AnalyzerSettingsProvider.cs (1)
75private class DiagnosticAnalyzerComparer : IEqualityComparer<DiagnosticAnalyzer>
EditorConfigSettings\Updater\NamingStyles\SourceTextExtensions.cs (3)
111private class NamingRuleComparerIgnoreGUIDs : IEqualityComparer<NamingRule> 132private class NamingStyleComparerIgnoreGUIDs : IEqualityComparer<NamingStyle> 157private class SymbolSpecificationComparerIgnoreGUIDs : IEqualityComparer<SymbolSpecification>
Tagging\AbstractAsynchronousTaggerProvider.TagSource_IEqualityComparer.cs (1)
13private partial class TagSource : IEqualityComparer<TagSpan<TTag>>
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (2)
Collections\Immutable\Maps\MapTests.cs (1)
122private class PathologicalComparer<T> : IEqualityComparer<T>
Utilities\SymbolEquivalenceComparerTests.cs (1)
1775private sealed class AssemblySymbolIdentityComparer : IEqualityComparer<IAssemblySymbol>
Microsoft.CodeAnalysis.ExpressionEvaluator.FunctionResolver.UnitTests (3)
NameComparer.cs (1)
13internal sealed class NameComparer : IEqualityComparer<Name>
ParameterComparer.cs (1)
12internal sealed class ParameterComparer : IEqualityComparer<ParameterSignature>
TypeComparer.cs (1)
13internal sealed class TypeComparer : IEqualityComparer<TypeSignature>
Microsoft.CodeAnalysis.ExpressionEvaluator.ResultProvider.Utilities (1)
ResultProviderTestBase.cs (1)
540private sealed class CustomUIVisualizerInfoComparer : IEqualityComparer<DkmCustomUIVisualizerInfo>
Microsoft.CodeAnalysis.Features (13)
AddImport\AbstractAddImportFeatureService.cs (1)
31: IAddImportFeatureService, IEqualityComparer<PortableExecutableReference>
CodeLens\LocationComparer.cs (1)
13internal sealed class LocationComparer : IEqualityComparer<Location>
Completion\CompletionService.ProviderManager.cs (1)
25private sealed class ProviderManager : IEqualityComparer<ImmutableHashSet<string>>
Completion\Providers\AbstractKeywordCompletionProvider.cs (1)
76private sealed class Comparer : IEqualityComparer<CompletionItem>
Completion\Providers\AbstractSymbolCompletionProvider.cs (1)
218private sealed class SymbolReferenceEquivalenceComparer : IEqualityComparer<SymbolAndSelectionInfo>
Completion\Providers\UnionCompletionItemComparer.cs (1)
11internal sealed class UnionCompletionItemComparer : IEqualityComparer<CompletionItem>
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (4)
2326private sealed class AssemblyEqualityComparer : IEqualityComparer<IAssemblySymbol?> 3913private sealed class SemanticEditInfoComparer : IEqualityComparer<SemanticEditInfo> 6567private sealed class TypedConstantComparer : IEqualityComparer<TypedConstant> 6586private sealed class NamedArgumentComparer : IEqualityComparer<KeyValuePair<string, TypedConstant>>
NavigateTo\NavigateToSearchResultComparer.cs (1)
19internal sealed class NavigateToSearchResultComparer : IEqualityComparer<INavigateToSearchResult>
Shared\Utilities\LinkedFilesSymbolEquivalenceComparer.cs (1)
14internal sealed class LinkedFilesSymbolEquivalenceComparer : IEqualityComparer<ISymbol>
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
99internal sealed class OriginalDefinitionSymbolEqualityComparer : IEqualityComparer<ISymbol>
Microsoft.CodeAnalysis.InteractiveHost (1)
src\Compilers\Core\Portable\FileSystem\PathUtilities.cs (1)
878private class PathComparer : IEqualityComparer<string?>
Microsoft.CodeAnalysis.LanguageServer (2)
HostWorkspace\LoadedProject.cs (1)
296private sealed class DocumentFileInfoComparer : IEqualityComparer<DocumentFileInfo>
HostWorkspace\ProjectToLoad.cs (1)
16private class ProjectToLoadComparer : IEqualityComparer<ProjectToLoad>
Microsoft.CodeAnalysis.LanguageServer.Protocol (3)
Features\Diagnostics\DocumentAnalysisExecutor_Helpers.cs (1)
444private sealed class DiagnosticComparer : IEqualityComparer<Diagnostic?>
Handler\Completion\CompletionResultFactory.cs (1)
426private sealed class CommitCharacterArrayComparer : IEqualityComparer<ImmutableArray<CharacterSetModificationRule>>
Workspaces\LspWorkspaceManager.cs (1)
48private class LspUriComparer : IEqualityComparer<Uri>
Microsoft.CodeAnalysis.Test.Utilities (6)
Assert\AssertEx.cs (2)
39private class AssertEqualityComparer<T> : IEqualityComparer<T> 880private sealed class LineComparer : IEqualityComparer<string>
Assert\AssertXml.cs (2)
212private class ShallowElementComparer : IEqualityComparer<XElement> 237private class NameAndAttributeComparer : IEqualityComparer<XElement>
InstrumentationChecker.cs (1)
411private class SnippetComparer : IEqualityComparer<string>
SourceGeneration\LambdaComparer.cs (1)
11public sealed class LambdaComparer<T> : IEqualityComparer<T>
Microsoft.CodeAnalysis.UnitTests (17)
Collections\BadHasher.cs (1)
19internal class BadHasher<T> : IEqualityComparer<T>
Collections\EnumerableExtensionsTests.cs (1)
46private class SignlessEqualityComparer : IEqualityComparer<int>
Collections\EverythingEqual.cs (1)
20internal class EverythingEqual<T> : IEqualityComparer<T>, IEqualityComparer
Collections\HashSet\TestingTypes.cs (9)
23public class BadIntEqualityComparer : IEqualityComparer<int> 85public class Comparer_SameAsDefaultComparer : IEqualityComparer<int>, IComparer<int> 104public class Comparer_HashCodeAlwaysReturnsZero : IEqualityComparer<int>, IComparer<int> 123public class Comparer_ModOfInt : IEqualityComparer<int>, IComparer<int> 154public class Comparer_AbsOfInt : IEqualityComparer<int>, IComparer<int> 225public class WrapStructural_Int : IEqualityComparer<int>, IComparer<int> 244public class WrapStructural_SimpleInt : IEqualityComparer<SimpleInt>, IComparer<SimpleInt> 381public sealed class TrackingEqualityComparer<T> : IEqualityComparer<T> 399public sealed class EqualityComparerConstantHashCode<T> : IEqualityComparer<T>
Collections\ImmutableArrayExtensionsTests.cs (1)
124private class AbsoluteValueComparer : IEqualityComparer<int>
Collections\ImmutableSegmentedHashSetBuilderTest.cs (1)
355private class CustomEqualityComparer : IEqualityComparer<int>
Collections\ImmutableSegmentedListTest.cs (1)
949private class NameOnlyEqualityComparer : IEqualityComparer<Person>
Collections\IndexOfTests.cs (1)
158private class CustomComparer : IEqualityComparer<int>
Text\TextChangeTests.cs (1)
255private sealed class TextLineEqualityComparer : IEqualityComparer<TextLine>
Microsoft.CodeAnalysis.VisualBasic (6)
Binding\Binder_XmlLiterals.vb (1)
584Implements IEqualityComparer(Of XmlName)
Declarations\SingleNamespaceDeclaration.vb (1)
60Implements IEqualityComparer(Of SingleNamespaceDeclaration)
Symbols\EventSignatureComparer.vb (1)
19Implements IEqualityComparer(Of EventSymbol)
Symbols\MethodSignatureComparer.vb (1)
98Implements IEqualityComparer(Of MethodSymbol)
Symbols\PropertySignatureComparer.vb (1)
15Implements IEqualityComparer(Of PropertySymbol)
Symbols\TypeSymbol.vb (1)
753Implements IEqualityComparer(Of Symbol)
Microsoft.CodeAnalysis.Workspaces (17)
FindSymbols\FindReferences\MetadataUnifyingEquivalenceComparer.cs (1)
11internal sealed class MetadataUnifyingEquivalenceComparer : IEqualityComparer<ISymbol>
Rename\ConflictEngine\DeclarationConflictHelpers.cs (1)
77private sealed class ConflictingSignatureComparer : IEqualityComparer<ImmutableArray<ITypeSymbol>>
Shared\Extensions\INamespaceSymbolExtensions.Comparer.cs (1)
13private sealed class Comparer : IEqualityComparer<INamespaceSymbol?>
src\Compilers\Core\Portable\FileSystem\PathUtilities.cs (1)
878private class PathComparer : IEqualityComparer<string?>
src\Compilers\Core\Portable\InternalUtilities\ReadOnlyMemoryOfCharComparer.cs (2)
14internal sealed class ReadOnlyMemoryOfCharComparer : IEqualityComparer<ReadOnlyMemory<char>> 42internal sealed class EmptyReadOnlyMemoryOfCharComparer : IEqualityComparer<ReadOnlyMemory<char>>
src\Compilers\Core\Portable\InternalUtilities\ReferenceEqualityComparer.cs (1)
13internal class ReferenceEqualityComparer : IEqualityComparer<object?>
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
17internal sealed class SegmentedHashSetEqualityComparer<T> : IEqualityComparer<SegmentedHashSet<T>?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
837private sealed class DirectiveSyntaxEqualityComparer : IEqualityComparer<TDirectiveTriviaSyntax>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\AbstractUnnecessaryImportsProvider.cs (1)
17IEqualityComparer<TSyntaxNode>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyComparer.cs (1)
12private sealed class SymbolKeyComparer : IEqualityComparer<SymbolKey>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ImmutableArrayComparer.cs (1)
13internal sealed class ImmutableArrayComparer<T> : IEqualityComparer<ImmutableArray<T>>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
11private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.cs (1)
39internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
15internal sealed class LinkedFileReferenceLocationEqualityComparer : IEqualityComparer<ReferenceLocation>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (1)
19IEqualityComparer<T> where T : SyntaxNode
Workspace\Solution\SolutionState.CachingFilePathComparer.cs (1)
26private sealed class CachingFilePathComparer : IEqualityComparer<string>
Microsoft.CodeAnalysis.Workspaces.MSBuild (1)
MSBuild\MSBuildProjectLoader.Worker.AnalyzerReferencePathComparer.cs (1)
15private class AnalyzerReferencePathComparer : IEqualityComparer<AnalyzerReference?>
Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost (8)
src\Compilers\Core\Portable\FileSystem\PathUtilities.cs (1)
878private class PathComparer : IEqualityComparer<string?>
src\Compilers\Core\Portable\InternalUtilities\CharMemoryEqualityComparer.cs (1)
13internal sealed class CharMemoryEqualityComparer : IEqualityComparer<ReadOnlyMemory<char>>
src\Compilers\Core\Portable\InternalUtilities\EmptyComparer.cs (1)
15internal sealed class EmptyComparer : IEqualityComparer<object>
src\Compilers\Core\Portable\InternalUtilities\ReadOnlyMemoryOfCharComparer.cs (2)
14internal sealed class ReadOnlyMemoryOfCharComparer : IEqualityComparer<ReadOnlyMemory<char>> 42internal sealed class EmptyReadOnlyMemoryOfCharComparer : IEqualityComparer<ReadOnlyMemory<char>>
src\Compilers\Core\Portable\InternalUtilities\ReferenceEqualityComparer.cs (1)
13internal class ReferenceEqualityComparer : IEqualityComparer<object?>
src\Compilers\Core\Portable\InternalUtilities\StringOrdinalComparer.cs (1)
17internal sealed class StringOrdinalComparer : IEqualityComparer<string>
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
17internal sealed class SegmentedHashSetEqualityComparer<T> : IEqualityComparer<SegmentedHashSet<T>?>
Microsoft.CSharp (1)
Microsoft\CSharp\RuntimeBinder\BinderEquivalence.cs (1)
55internal sealed class BinderEqualityComparer : IEqualityComparer<ICSharpBinder>
Microsoft.DotNet.ArcadeLogging (1)
PipelinesLogger.cs (1)
408internal sealed class BuildEventContextComparer : IEqualityComparer<BuildEventContext>
Microsoft.DotNet.NuGetRepack.Tests (1)
TestHelpers\AssertEx.cs (1)
23private class AssertEqualityComparer<T> : IEqualityComparer<T>
Microsoft.DotNet.SignTool (2)
src\ByteSequenceComparer.cs (2)
10internal sealed class ByteSequenceComparer : IEqualityComparer<byte[]>, IEqualityComparer<ImmutableArray<byte>>
Microsoft.DotNet.XUnitAssert.Tests (25)
AsyncCollectionAssertsTests.cs (7)
346 class MyComparer : IEqualityComparer<int> 531 class MyComparer : IEqualityComparer<int> 819 class IntComparer : IEqualityComparer<int> 844 public class EnumerableItemComparer : IEqualityComparer<EnumerableItem> 891 public class ThrowingComparer : IEqualityComparer<int> 1206 class IntComparer : IEqualityComparer<int> 1250 public class ThrowingComparer : IEqualityComparer<int>
CollectionAssertsTests.cs (10)
380 class MyComparer : IEqualityComparer<int> 609 class MyComparer : IEqualityComparer<int> 904 public class EnumerableItemComparer : IEqualityComparer<EnumerableItem> 1060 class IntComparer : IEqualityComparer<int> 1084 public class EnumerableItemComparer : IEqualityComparer<EnumerableItem> 1121 public class ThrowingComparer : IEqualityComparer<int> 1583 public class BitArrayComparer : IEqualityComparer<BitArray> 1790 class IntComparer : IEqualityComparer<int> 1821 public class ThrowingComparer : IEqualityComparer<int> 2250 public class BitArrayComparer : IEqualityComparer<BitArray>
EqualityAssertsTests.cs (8)
89 class Comparer<T> : IEqualityComparer<T> 118 public class ThrowingIntComparer : IEqualityComparer<int> 141 public class ThrowingEnumerableComparer : IEqualityComparer<IEnumerable<int>> 1062 class MyComparer : IEqualityComparer<IEnumerable> 2373 class Comparer<T> : IEqualityComparer<T> 2402 public class ThrowingIntComparer : IEqualityComparer<int> 2425 public class ThrowingEnumerableComparer : IEqualityComparer<IEnumerable<int>> 2448 public class ThrowingStringComparer : IEqualityComparer<string>
Microsoft.Extensions.DependencyModel (1)
DependencyContext.cs (1)
82private sealed class LibraryMergeEqualityComparer<T> : IEqualityComparer<T> where T : Library
Microsoft.Extensions.Diagnostics.ResourceMonitoring (1)
ByteArrayEqualityComparer.cs (1)
9internal sealed class ByteArrayEqualityComparer : IEqualityComparer<byte[]>
Microsoft.Extensions.Features (1)
FeatureCollection.cs (1)
146private sealed class KeyComparer : IEqualityComparer<KeyValuePair<Type, object>>
Microsoft.Extensions.FileProviders.Embedded.Tests (1)
FileInfoComparer.cs (1)
9internal class FileInfoComparer : IEqualityComparer<IFileInfo>
Microsoft.Extensions.Http.Resilience (1)
Internal\HttpKey.cs (1)
14private sealed class BuilderEqualityComparer : IEqualityComparer<HttpKey>
Microsoft.Extensions.Logging.Generators (1)
src\libraries\Common\src\Roslyn\SyntaxValueProvider.ImmutableArrayValueComparer.cs (1)
13private sealed class ImmutableArrayValueComparer<T> : IEqualityComparer<ImmutableArray<T>>
Microsoft.Extensions.Primitives (1)
StringSegmentComparer.cs (1)
12public class StringSegmentComparer : IComparer<StringSegment>, IEqualityComparer<StringSegment>
Microsoft.Interop.ComInterfaceGenerator (2)
Comparers.cs (2)
25internal sealed class ImmutableArraySequenceEqualComparer<T> : IEqualityComparer<ImmutableArray<T>> 49internal sealed class CustomValueTupleElementComparer<T, U> : IEqualityComparer<(T, U)>
Microsoft.Interop.JavaScript.JSImportGenerator (3)
Comparers.cs (3)
29internal sealed class ImmutableArraySequenceEqualComparer<T> : IEqualityComparer<ImmutableArray<T>> 53internal sealed class CustomValueTupleElementComparer<T, U> : IEqualityComparer<(T, U)> 75internal sealed class CustomValueTupleElementComparer<T, U, V, W> : IEqualityComparer<(T, U, V, W)>
Microsoft.Interop.LibraryImportGenerator (2)
Comparers.cs (2)
25internal sealed class ImmutableArraySequenceEqualComparer<T> : IEqualityComparer<ImmutableArray<T>> 49internal sealed class CustomValueTupleElementComparer<T, U> : IEqualityComparer<(T, U)>
Microsoft.Interop.LibraryImportGenerator.Downlevel (2)
Comparers.cs (2)
25internal sealed class ImmutableArraySequenceEqualComparer<T> : IEqualityComparer<ImmutableArray<T>> 49internal sealed class CustomValueTupleElementComparer<T, U> : IEqualityComparer<(T, U)>
Microsoft.Interop.SourceGeneration (2)
SyntaxEquivalentComparer.cs (2)
9public sealed class SyntaxEquivalentComparer : IEqualityComparer<SyntaxNode>, IEqualityComparer<SyntaxToken>
Microsoft.Maui (1)
HotReload\HotReloadExtensions.cs (1)
58 class ReflectionMethodComparer : IEqualityComparer<MethodInfo>
Microsoft.Maui.Controls.Build.Tasks (1)
TypeReferenceExtensions.cs (1)
10 class TypeRefComparer : IEqualityComparer<TypeReference>
Microsoft.Maui.Controls.SourceGen (1)
CodeBehindGenerator.cs (1)
771 class CompilationReferencesComparer : IEqualityComparer<Compilation>
Microsoft.ML.AutoML (1)
AutoMLExperiment\TrialResult.cs (1)
15public class TrialResult : IEqualityComparer<TrialResult>
Microsoft.ML.Core (1)
Data\ReadOnlyMemoryUtils.cs (1)
259public sealed class ReadonlyMemoryCharComparer : IEqualityComparer<ReadOnlyMemory<char>>
Microsoft.ML.CpuMath.UnitTests (2)
UnitTests.cs (2)
1002internal class FloatEqualityComparer : IEqualityComparer<float> 1015internal class FloatEqualityComparerForMatMul : IEqualityComparer<float>
Microsoft.ML.Data (4)
Commands\TypeInfoCommand.cs (1)
54private sealed class SetOfKindsComparer : IEqualityComparer<ISet<InternalDataKind>>
Transforms\Hashing.cs (2)
1532private sealed class TextEqualityComparer : IEqualityComparer<ReadOnlyMemory<char>> 1552private sealed class KeyValueComparer<T> : IEqualityComparer<KeyValuePair<int, T>>
Transforms\InvertHashUtils.cs (1)
125private sealed class PairEqualityComparer : IEqualityComparer<Pair>
Microsoft.ML.SearchSpace (1)
Parameter.cs (1)
63public sealed class Parameter : IDictionary<string, Parameter>, IEquatable<Parameter>, IEqualityComparer<Parameter>
Microsoft.ML.Tokenizers (1)
Utils\ByteArrayComparer.cs (1)
11internal sealed class ReadOnlyMemoryByteComparer : IEqualityComparer<ReadOnlyMemory<byte>>
Microsoft.VisualStudio.LanguageServices (1)
Library\ObjectBrowser\AbstractListItemFactory.cs (1)
456private class AssemblySymbolComparer : IEqualityComparer<(ProjectId, IAssemblySymbol)>
MSBuild (2)
AssemblyNameComparer.cs (1)
16internal sealed class AssemblyNameComparer : IComparer, IEqualityComparer, IEqualityComparer<AssemblyNameExtension>
MSBuildNameIgnoreCaseComparer.cs (1)
20internal class MSBuildNameIgnoreCaseComparer : IConstrainedEqualityComparer<string>, IEqualityComparer<string>
MSBuildTaskHost (1)
AssemblyNameComparer.cs (1)
16internal sealed class AssemblyNameComparer : IComparer, IEqualityComparer, IEqualityComparer<AssemblyNameExtension>
PresentationCore (1)
System\Windows\Media\FontEmbeddingManager.cs (1)
95private class UriComparer : IEqualityComparer<Uri>
PresentationFramework (1)
System\Windows\Controls\Primitives\Selector.cs (1)
2944private class ItemInfoEqualityComparer : IEqualityComparer<ItemInfo>
ReachFramework (1)
src\Microsoft.DotNet.Wpf\src\Shared\MS\Internal\UriComparer.cs (1)
26internal class UriComparer : IEqualityComparer<Uri>
System.Collections (1)
System\Collections\Generic\SortedSetEqualityComparer.cs (1)
11internal sealed class SortedSetEqualityComparer<T> : IEqualityComparer<SortedSet<T>>
System.Collections.Immutable (5)
System\Collections\Frozen\String\KeyAnalyzer.cs (1)
301private abstract class SubstringComparer : IEqualityComparer<string>
System\Collections\Immutable\ImmutableDictionary_2.Comparers.cs (2)
21internal sealed class Comparers : IEqualityComparer<HashBucket>, IEqualityComparer<KeyValuePair<TKey, TValue>>
System\Collections\Immutable\ImmutableHashSet_1.HashBucketByRefEqualityComparer.cs (1)
17private sealed class HashBucketByRefEqualityComparer : IEqualityComparer<HashBucket>
System\Collections\Immutable\ImmutableHashSet_1.HashBucketByValueEqualityComparer.cs (1)
17private sealed class HashBucketByValueEqualityComparer : IEqualityComparer<HashBucket>
System.ComponentModel.TypeConverter (1)
System\ComponentModel\Design\ServiceContainer.cs (1)
252private sealed class EmbeddedTypeAwareTypeComparer : IEqualityComparer<Type>
System.Composition.TypedParts (1)
System\Composition\TypedParts\Discovery\DiscoveredPart.cs (1)
264private sealed class ParameterInfoComparer : IEqualityComparer<ParameterInfo>
System.Data.Common (3)
System\Data\Common\ObjectStorage.cs (1)
641private sealed class TempAssemblyComparer : IEqualityComparer<KeyValuePair<Type, XmlRootAttribute>>
System\Data\DataRowComparer.cs (1)
116public sealed class DataRowComparer<TRow> : IEqualityComparer<TRow> where TRow : DataRow
System\Data\DataView.cs (1)
81private sealed class DataRowReferenceComparer : IEqualityComparer<DataRow>
System.Diagnostics.DiagnosticSource (1)
System\Diagnostics\DsesActivitySourceListener.cs (1)
231private sealed class SpecLookupKeyComparer : IEqualityComparer<SpecLookupKey>
System.Formats.Cbor (2)
System\Formats\Cbor\Reader\CborReader.Map.cs (1)
199private sealed class KeyEncodingComparer : IEqualityComparer<(int Offset, int Length)>
System\Formats\Cbor\Writer\CborWriter.Map.cs (1)
261IEqualityComparer<(int Offset, int Length)>
System.IO.Packaging (1)
System\IO\Packaging\ZipPackage.cs (1)
731private sealed class ExtensionEqualityComparer : IEqualityComparer<string>
System.Linq.Parallel (1)
System\Linq\Parallel\Utils\WrapperEqualityComparer.cs (1)
20internal readonly struct WrapperEqualityComparer<T> : IEqualityComparer<Wrapper<T>>
System.Private.CoreLib (8)
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\EqualityComparer.cs (1)
12public abstract partial class EqualityComparer<T> : IEqualityComparer, IEqualityComparer<T>
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\HashSetEqualityComparer.cs (1)
9internal sealed class HashSetEqualityComparer<T> : IEqualityComparer<HashSet<T>?>
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\NonRandomizedStringEqualityComparer.cs (1)
17public class NonRandomizedStringEqualityComparer : IEqualityComparer<string?>, IInternalStringEqualityComparer, ISerializable
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\ReferenceEqualityComparer.cs (1)
21sealed class ReferenceEqualityComparer : IEqualityComparer<object?>, IEqualityComparer
src\libraries\System.Private.CoreLib\src\System\Numerics\TotalOrderIeee754Comparer.cs (1)
15public readonly struct TotalOrderIeee754Comparer<T> : IComparer<T>, IEqualityComparer<T>, IEquatable<TotalOrderIeee754Comparer<T>>
src\libraries\System.Private.CoreLib\src\System\Resources\FastResourceComparer.cs (1)
14internal sealed class FastResourceComparer : IComparer, IEqualityComparer, IComparer<string?>, IEqualityComparer<string?>
src\libraries\System.Private.CoreLib\src\System\StringComparer.cs (1)
15public abstract class StringComparer : IComparer, IEqualityComparer, IComparer<string?>, IEqualityComparer<string?>
src\System\Collections\Generic\EqualityComparer.CoreCLR.cs (1)
9public abstract partial class EqualityComparer<T> : IEqualityComparer, IEqualityComparer<T>
System.Private.Windows.Core (2)
System\Collections\Specialized\CompatibleIComparer.cs (1)
6internal class BackCompatibleStringComparer : IEqualityComparer<string>
System\Reflection\Metadata\DataObject.Composition.TypeNameComparer.cs (1)
10internal sealed class TypeNameComparer : IEqualityComparer<TypeName>
System.Private.Windows.Core.TestUtilities (1)
XUnit\FloatingPointToleranceComparerer.cs (1)
11public class FloatingPointToleranceComparerer<T> : IEqualityComparer<T>
System.Private.Xml.Linq (2)
System\Xml\Linq\XNodeEqualityComparer.cs (1)
16IEqualityComparer<XNode>
System\Xml\Schema\XNodeValidator.cs (1)
376internal sealed class XmlSchemaInfoEqualityComparer : IEqualityComparer<XmlSchemaInfo>
System.Reflection.Metadata (2)
System\Reflection\Metadata\HandleComparer.cs (2)
8public sealed class HandleComparer : IEqualityComparer<Handle>, IComparer<Handle>, IEqualityComparer<EntityHandle>, IComparer<EntityHandle>
System.Resources.Extensions (2)
src\libraries\System.Private.CoreLib\src\System\Resources\FastResourceComparer.cs (1)
14internal sealed class FastResourceComparer : IComparer, IEqualityComparer, IComparer<string?>, IEqualityComparer<string?>
System\Resources\Extensions\TypeNameComparer.cs (1)
18internal sealed class TypeNameComparer : IEqualityComparer<string>
System.Resources.Writer (1)
System\Resources\__FastResourceComparer.cs (1)
13internal sealed class FastResourceComparer : IComparer<string>, IEqualityComparer<string>
System.Text.Json (1)
System\Text\Json\Serialization\JsonSerializerOptions.Caching.cs (1)
488private sealed class EqualityComparer : IEqualityComparer<JsonSerializerOptions>
System.Text.RegularExpressions.Generator (1)
RegexGenerator.cs (1)
361private sealed class ObjectImmutableArraySequenceEqualityComparer : IEqualityComparer<ImmutableArray<object>>
System.Windows.Forms.Design (2)
System\ComponentModel\Design\Serialization\DesignerSerializationManager.cs (1)
972private sealed class ReferenceComparer : IEqualityComparer<object>
System\ComponentModel\Design\Serialization\ExpressionTable.cs (1)
44private class ReferenceComparer : IEqualityComparer<object>
System.Xaml (1)
System\Xaml\XamlObjectReader.cs (1)
232class ObjectReferenceEqualityComparer : IEqualityComparer<object>
Templates.Blazor.Tests (1)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
Templates.Blazor.WebAssembly.Auth.Tests (1)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
Templates.Blazor.WebAssembly.Tests (1)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
Templates.Mvc.Tests (1)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
Templates.Tests (1)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
xunit.assert (4)
Sdk\AssertEqualityComparer.cs (2)
132 DynamicallyAccessedMemberTypes.PublicMethods)] T> : IEqualityComparer<T> 389 sealed class FuncEqualityComparer : IEqualityComparer<T?>
Sdk\AssertEqualityComparerAdapter.cs (1)
22 sealed class AssertEqualityComparerAdapter<T> : IEqualityComparer, IEqualityComparer<T>
Sdk\AssertHelper.cs (1)
751 sealed class ReferenceEqualityComparer : IEqualityComparer<object>
xunit.console (1)
common\AssemblyResolution\Microsoft.Extensions.DependencyModel\DependencyContext.cs (1)
93private class LibraryMergeEqualityComparer<T> : IEqualityComparer<T> where T : Library
2077 references to IEqualityComparer
dotnet-dev-certs (3)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (3)
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer(); 423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) => 427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
dotnet-svcutil-lib (29)
FrameworkFork\Microsoft.Xml\Xml\Resolvers\XmlPreloadedResolver.cs (1)
171public XmlPreloadedResolver(XmlResolver fallbackResolver, XmlKnownDtds preloadedDtds, IEqualityComparer<Uri> uriComparer)
FrameworkFork\System.ServiceModel\Internals\System\Runtime\MruCache.cs (1)
33public MruCache(int lowWatermark, int highWatermark, IEqualityComparer<TKey> comparer)
FrameworkFork\System.ServiceModel\System\IdentityModel\Claims\Claim.cs (3)
49private IEqualityComparer<Claim> _comparer; 51private Claim(string claimType, object resource, string right, IEqualityComparer<Claim> comparer) 72public static IEqualityComparer<Claim> DefaultComparer
FrameworkFork\System.ServiceModel\System\IdentityModel\Claims\ClaimComparer.cs (15)
18private static IEqualityComparer<Claim> s_defaultComparer; 19private static IEqualityComparer<Claim> s_hashComparer; 20private static IEqualityComparer<Claim> s_dnsComparer; 21private static IEqualityComparer<Claim> s_rsaComparer; 22private static IEqualityComparer<Claim> s_thumbprintComparer; 24private static IEqualityComparer<Claim> s_upnComparer; 26private static IEqualityComparer<Claim> s_x500DistinguishedNameComparer; 34public static IEqualityComparer<Claim> GetComparer(string claimType) 55public static IEqualityComparer<Claim> Default 67public static IEqualityComparer<Claim> Dns 79public static IEqualityComparer<Claim> Hash 91public static IEqualityComparer<Claim> Rsa 103public static IEqualityComparer<Claim> Thumbprint 116public static IEqualityComparer<Claim> Upn 129public static IEqualityComparer<Claim> X500DistinguishedName
FrameworkFork\System.ServiceModel\System\IdentityModel\Claims\ClaimSet.cs (1)
76public virtual bool ContainsClaim(Claim claim, IEqualityComparer<Claim> comparer)
FrameworkFork\System.ServiceModel\System\ServiceModel\Description\ServiceContractGenerator.cs (2)
632bool IEqualityComparer<MessageDescription>.Equals(MessageDescription x, MessageDescription y) 658int IEqualityComparer<MessageDescription>.GetHashCode(MessageDescription obj)
FrameworkFork\System.ServiceModel\System\ServiceModel\EndpointIdentity.cs (3)
14private IEqualityComparer<Claim> _claimComparer; 28protected void Initialize(Claim identityClaim, IEqualityComparer<Claim> claimComparer) 101private IEqualityComparer<Claim> GetClaimComparer()
FrameworkFork\System.ServiceModel\System\ServiceModel\SynchronizedKeyedCollection.cs (3)
16private IEqualityComparer<K> _comparer; 34protected SynchronizedKeyedCollection(object syncRoot, IEqualityComparer<K> comparer) 44protected SynchronizedKeyedCollection(object syncRoot, IEqualityComparer<K> comparer, int dictionaryCreationThreshold)
ILLink.RoslynAnalyzer (1)
ImmutableArrayOperations.cs (1)
13 where TComp : IEqualityComparer<T>
Microsoft.Arcade.Test.Common (5)
AssertEx.cs (5)
25private static readonly IEqualityComparer<T> s_instance = new AssertEqualityComparer<T>(); 49bool IEqualityComparer<T>.Equals(T x, T y) 115int IEqualityComparer<T>.GetHashCode(T obj) 123public static void AreEqual<T>(T expected, T actual, string message = null, IEqualityComparer<T> comparer = null) 242public static void SetEqual<T>(IEnumerable<T> expected, IEnumerable<T> actual, IEqualityComparer<T> comparer = null, string message = null, string itemSeparator = "\r\n")
Microsoft.AspNetCore.App.CodeFixes (1)
src\Shared\HashCode.cs (1)
307public void Add<T>(T value, IEqualityComparer<T>? comparer)
Microsoft.AspNetCore.Components (1)
src\Http\Routing\src\RouteValueEqualityComparer.cs (1)
9/// An <see cref="IEqualityComparer{Object}"/> implementation that compares objects as-if
Microsoft.AspNetCore.Components.WebView (1)
src\Shared\StaticWebAssets\ManifestStaticWebAssetFileProvider.cs (1)
20private static readonly IEqualityComparer<IFileInfo> _nameComparer = new FileNameComparer();
Microsoft.AspNetCore.DataProtection.Tests (2)
XmlAssert.cs (2)
14public static readonly IEqualityComparer<XNode> EqualityComparer = new CallbackBasedEqualityComparer<XNode>(Core.AreEqual); 46private static readonly IEqualityComparer<XAttribute> AttributeEqualityComparer = new CallbackBasedEqualityComparer<XAttribute>(AreEqual);
Microsoft.AspNetCore.DeveloperCertificates.XPlat (3)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (3)
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer(); 423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) => 427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
Microsoft.AspNetCore.Hosting (1)
src\Shared\StaticWebAssets\ManifestStaticWebAssetFileProvider.cs (1)
20private static readonly IEqualityComparer<IFileInfo> _nameComparer = new FileNameComparer();
Microsoft.AspNetCore.Http (6)
src\Shared\CopyOnWriteDictionary\CopyOnWriteDictionary.cs (2)
19private readonly IEqualityComparer<TKey> _comparer; 24IEqualityComparer<TKey> comparer)
src\Shared\Dictionary\AdaptiveCapacityDictionary.cs (4)
28private readonly IEqualityComparer<TKey> _comparer; 42public AdaptiveCapacityDictionary(IEqualityComparer<TKey> comparer) 61public AdaptiveCapacityDictionary(int capacity, IEqualityComparer<TKey> comparer) 147public IEqualityComparer<TKey> Comparer => _comparer;
Microsoft.AspNetCore.Http.Abstractions (1)
Routing\RouteValueDictionary.cs (1)
308public IEqualityComparer<string> Comparer => StringComparer.OrdinalIgnoreCase;
Microsoft.AspNetCore.Http.RequestDelegateGenerator (3)
src\Shared\HashCode.cs (1)
307public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\Shared\RoslynUtils\IncrementalValuesProviderExtensions.cs (1)
14IEqualityComparer<TSource> comparer)
StaticRouteHandlerModel\EndpointHttpMethodComparer.cs (1)
12private static readonly IEqualityComparer<string> OrdinalComparer = StringComparer.Ordinal;
Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test (1)
UserStoreWithGenericsTest.cs (1)
176public static IEqualityComparer<Claim> Default = new ClaimEqualityComparer();
Microsoft.AspNetCore.Mvc.Core (2)
src\Shared\CopyOnWriteDictionary\CopyOnWriteDictionary.cs (2)
19private readonly IEqualityComparer<TKey> _comparer; 24IEqualityComparer<TKey> comparer)
Microsoft.AspNetCore.Mvc.DataAnnotations.Test (1)
DataAnnotationsMetadataProviderTest.cs (1)
1737public static readonly IEqualityComparer<KeyValuePair<EnumGroupAndName, string>> Instance = new KVPEnumGroupAndNameComparer();
Microsoft.AspNetCore.Razor.Runtime (2)
src\Shared\CopyOnWriteDictionary\CopyOnWriteDictionary.cs (2)
19private readonly IEqualityComparer<TKey> _comparer; 24IEqualityComparer<TKey> comparer)
Microsoft.AspNetCore.Routing (5)
DecisionTree\DecisionCriterionValueEqualityComparer.cs (2)
8public DecisionCriterionValueEqualityComparer(IEqualityComparer<object> innerComparer) 13public IEqualityComparer<object> InnerComparer { get; private set; }
DecisionTree\IClassifier.cs (1)
10IEqualityComparer<object> ValueComparer { get; }
RouteValueEqualityComparer.cs (1)
9/// An <see cref="IEqualityComparer{Object}"/> implementation that compares objects as-if
Tree\LinkGenerationDecisionTree.cs (1)
172public IEqualityComparer<object> ValueComparer => RouteValueEqualityComparer.Default;
Microsoft.AspNetCore.Routing.Tests (1)
DecisionTreeBuilderTest.cs (1)
206public IEqualityComparer<object> ValueComparer => RouteValueEqualityComparer.Default;
Microsoft.AspNetCore.Server.Kestrel.Core (3)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (3)
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer(); 423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) => 427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
Microsoft.AspNetCore.Shared.Tests (6)
src\Shared\CopyOnWriteDictionary\CopyOnWriteDictionary.cs (2)
19private readonly IEqualityComparer<TKey> _comparer; 24IEqualityComparer<TKey> comparer)
src\Shared\Dictionary\AdaptiveCapacityDictionary.cs (4)
28private readonly IEqualityComparer<TKey> _comparer; 42public AdaptiveCapacityDictionary(IEqualityComparer<TKey> comparer) 61public AdaptiveCapacityDictionary(int capacity, IEqualityComparer<TKey> comparer) 147public IEqualityComparer<TKey> Comparer => _comparer;
Microsoft.Build (35)
AssemblyNameComparer.cs (4)
31internal static readonly IEqualityComparer<AssemblyNameExtension> GenericComparer = Comparer as IEqualityComparer<AssemblyNameExtension>; 36internal static readonly IEqualityComparer<AssemblyNameExtension> GenericComparerConsiderRetargetable = ComparerConsiderRetargetable as IEqualityComparer<AssemblyNameExtension>;
Collections\ArrayDictionary.cs (7)
48var comparer = KeyComparer; 80private IEqualityComparer<TKey> KeyComparer => EqualityComparer<TKey>.Default; 82private IEqualityComparer<TValue> ValueComparer => EqualityComparer<TValue>.Default; 120var keyComparer = KeyComparer; 121var valueComparer = ValueComparer; 135var comparer = KeyComparer; 184var comparer = KeyComparer;
Collections\MultiDictionary.cs (1)
66internal MultiDictionary(IEqualityComparer<K> keyComparer)
Collections\RetrievableEntryHashSet\RetrievableEntryHashSet.cs (9)
109private IEqualityComparer<string> _comparer; 119public RetrievableEntryHashSet(IEqualityComparer<string> comparer) 134public RetrievableEntryHashSet(IEnumerable<T> collection, IEqualityComparer<string> comparer, bool readOnly = false) 140public RetrievableEntryHashSet(IEnumerable<KeyValuePair<string, T>> collection, IEqualityComparer<string> comparer, bool readOnly = false) 151public RetrievableEntryHashSet(int suggestedCapacity, IEqualityComparer<string> comparer) 162public RetrievableEntryHashSet(IEnumerable<T> collection, IEqualityComparer<string> comparer) 525info.AddValue(ComparerName, _comparer, typeof(IEqualityComparer<string>)); 551_comparer = (IEqualityComparer<string>)_siInfo.GetValue(ComparerName, typeof(IEqualityComparer<string>));
Collections\RetrievableEntryHashSet\RetrievableValuedEntryHashSet.cs (2)
25public RetrievableValuedEntryHashSet(IEqualityComparer<string> comparer) 35public RetrievableValuedEntryHashSet(int suggestedCapacity, IEqualityComparer<string> comparer)
Collections\WeakValueDictionary.cs (1)
45public WeakValueDictionary(IEqualityComparer<K> keyComparer)
CopyOnWriteDictionary.cs (5)
65internal CopyOnWriteDictionary(IEqualityComparer<string>? keyComparer) 78object comparer = info.GetValue(nameof(Comparer), typeof(IEqualityComparer<string>))!; 80var b = GetInitialDictionary((IEqualityComparer<string>?)comparer); 85private static ImmutableDictionary<string, V> GetInitialDictionary(IEqualityComparer<string>? keyComparer) 169internal IEqualityComparer<string> Comparer
Graph\GraphBuilder.cs (1)
69IEqualityComparer<ConfigurationMetadata> configComparer = EqualityComparer<ConfigurationMetadata>.Default;
Graph\ParallelWorkSet.cs (1)
79internal ParallelWorkSet(int degreeOfParallelism, IEqualityComparer<TKey> comparer, CancellationToken cancellationToken)
Instance\ProjectItemInstance.cs (2)
345internal static IEqualityComparer<ProjectItemInstance> EqualityComparer 2320public static IEqualityComparer<ProjectItemInstance> Default
Logging\ParallelLogger\ParallelConsoleLogger.cs (1)
1707internal void AddEventStarted(string projectTargetNames, BuildEventContext buildEventContext, DateTime eventTimeStamp, IEqualityComparer<BuildEventContext> comparer)
TranslatorHelpers.cs (1)
86IEqualityComparer<string> comparer,
Microsoft.Build.BuildCheck.UnitTests (6)
EditorConfig_Tests.cs (6)
23public static readonly IEqualityComparer<T> Instance = new AssertEqualityComparer<T>(); 47bool IEqualityComparer<T>.Equals(T x, T y) 110int IEqualityComparer<T>.GetHashCode(T obj) 692private static void SetEqual<T>(IEnumerable<T> expected, IEnumerable<T> actual, IEqualityComparer<T> comparer = null, string message = null) 702IEqualityComparer<T> comparer = null, 722private static bool SequenceEqual<T>(IEnumerable<T> expected, IEnumerable<T> actual, IEqualityComparer<T> comparer = null)
Microsoft.Build.Framework (50)
BinaryTranslator.cs (6)
590public void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer) 612public void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer, ref Dictionary<string, string> additionalEntries, HashSet<string> additionalEntriesKeys) 699public void TranslateDictionary<T>(ref Dictionary<string, T> dictionary, IEqualityComparer<string> comparer, ObjectTranslator<T> objectTranslator) 1317public void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer) 1334public void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer, ref Dictionary<string, string> additionalEntries, HashSet<string> additionalEntriesKeys) 1438public void TranslateDictionary<T>(ref Dictionary<string, T> dictionary, IEqualityComparer<string> comparer, ObjectTranslator<T> objectTranslator)
BuildCheck\EnumerableExtensions.cs (3)
38public static HashSet<T> NewHashSet<T>(IEqualityComparer<T> equalityComparer) 41public static HashSet<T> NewHashSet<T>(int capacity, IEqualityComparer<T>? equalityComparer) 50public static HashSet<T>? ToHashSet<T>(this ICollection<T>? source, IEqualityComparer<T>? equalityComparer = null)
ImmutableSegmentedDictionary.cs (6)
21public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 29public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 37public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 54public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 70public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 88public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
ImmutableSegmentedDictionary`2.cs (2)
82public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 277public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
ImmutableSegmentedDictionary`2+Builder.cs (1)
32public IEqualityComparer<TKey> KeyComparer
ImmutableSegmentedList`1.cs (11)
304public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 337public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 370/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 371public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 425/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 426public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 479/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 480public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 616IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 622IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 634IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
ImmutableSegmentedList`1+Builder.cs (4)
155/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 156public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 178/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 179public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
ImmutableSegmentedList`1+ValueBuilder.cs (2)
206public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 242public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
ITranslator.cs (3)
320void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer); 333void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer, ref Dictionary<string, string> additionalEntries, HashSet<string> additionalEntriesKeys); 348void TranslateDictionary<T>(ref Dictionary<string, T> dictionary, IEqualityComparer<string> comparer, ObjectTranslator<T> objectTranslator)
SegmentedArray.cs (2)
208public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 273public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
SegmentedDictionary`2.cs (8)
56private readonly IEqualityComparer<TKey> _comparer; 72public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 77public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 105public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 143public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 157public IEqualityComparer<TKey> Comparer 338var comparer = _comparer; 484var comparer = _comparer;
SegmentedList`1.cs (2)
689public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 877public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
Microsoft.Build.Tasks.Core (10)
AssemblyNameComparer.cs (4)
31internal static readonly IEqualityComparer<AssemblyNameExtension> GenericComparer = Comparer as IEqualityComparer<AssemblyNameExtension>; 36internal static readonly IEqualityComparer<AssemblyNameExtension> GenericComparerConsiderRetargetable = ComparerConsiderRetargetable as IEqualityComparer<AssemblyNameExtension>;
CopyOnWriteDictionary.cs (5)
65internal CopyOnWriteDictionary(IEqualityComparer<string>? keyComparer) 78object comparer = info.GetValue(nameof(Comparer), typeof(IEqualityComparer<string>))!; 80var b = GetInitialDictionary((IEqualityComparer<string>?)comparer); 85private static ImmutableDictionary<string, V> GetInitialDictionary(IEqualityComparer<string>? keyComparer) 169internal IEqualityComparer<string> Comparer
TranslatorHelpers.cs (1)
86IEqualityComparer<string> comparer,
Microsoft.Build.Utilities.Core (5)
CopyOnWriteDictionary.cs (5)
65internal CopyOnWriteDictionary(IEqualityComparer<string>? keyComparer) 78object comparer = info.GetValue(nameof(Comparer), typeof(IEqualityComparer<string>))!; 80var b = GetInitialDictionary((IEqualityComparer<string>?)comparer); 85private static ImmutableDictionary<string, V> GetInitialDictionary(IEqualityComparer<string>? keyComparer) 169internal IEqualityComparer<string> Comparer
Microsoft.Cci.Extensions (14)
Comparers\CciComparers.cs (6)
40public virtual IEqualityComparer<T> GetEqualityComparer<T>() 43return (IEqualityComparer<T>)_assemblyComparer; 46return (IEqualityComparer<T>)_namespaceComparer; 49return (IEqualityComparer<T>)_typeComparer; 52return (IEqualityComparer<T>)_memberComparer; 55return (IEqualityComparer<T>)_attributeComparer;
Comparers\ICciComparers.cs (1)
10IEqualityComparer<T> GetEqualityComparer<T>();
Mappings\AttributesMapping.cs (2)
78private readonly IEqualityComparer<ICustomAttribute> _comparer; 80public AttributeGroup(IEnumerable<ICustomAttribute> attributes, IEqualityComparer<ICustomAttribute> comparer)
Mappings\MappingSettings.cs (5)
39public IEqualityComparer<IAssembly> AssemblyComparer { get { return this.Comparers.GetEqualityComparer<IAssembly>(); } } 41public IEqualityComparer<INamespaceDefinition> NamespaceComparer { get { return this.Comparers.GetEqualityComparer<INamespaceDefinition>(); } } 43public IEqualityComparer<ITypeReference> TypeComparer { get { return this.Comparers.GetEqualityComparer<ITypeReference>(); } } 45public IEqualityComparer<ITypeDefinitionMember> MemberComparer { get { return this.Comparers.GetEqualityComparer<ITypeDefinitionMember>(); } } 47public IEqualityComparer<ICustomAttribute> AttributeComparer { get { return this.Comparers.GetEqualityComparer<ICustomAttribute>(); } }
Microsoft.CodeAnalysis (175)
Binding\AbstractLookupSymbolsInfo.cs (2)
230private readonly IEqualityComparer<string> _comparer; 234protected AbstractLookupSymbolsInfo(IEqualityComparer<string> comparer)
Collections\ByteSequenceComparer.cs (4)
107bool IEqualityComparer<byte[]>.Equals(byte[]? x, byte[]? y) 112int IEqualityComparer<byte[]>.GetHashCode(byte[] x) 117bool IEqualityComparer<ImmutableArray<byte>>.Equals(ImmutableArray<byte> x, ImmutableArray<byte> y) 122int IEqualityComparer<ImmutableArray<byte>>.GetHashCode(ImmutableArray<byte> x)
Collections\CachingDictionary.cs (4)
34private readonly Func<IEqualityComparer<TKey>, SegmentedHashSet<TKey>> _getKeys; 35private readonly IEqualityComparer<TKey> _comparer; 57Func<IEqualityComparer<TKey>, SegmentedHashSet<TKey>> getKeys, 58IEqualityComparer<TKey> comparer)
Collections\ConcurrentCache.cs (2)
15private readonly IEqualityComparer<TKey> _keyComparer; 32public ConcurrentCache(int size, IEqualityComparer<TKey> keyComparer)
Collections\ImmutableArrayExtensions.cs (5)
754public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 814public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1083internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 1209(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 1295internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer)
Collections\SmallDictionary.cs (3)
39public readonly IEqualityComparer<K> Comparer; 46public SmallDictionary(IEqualityComparer<K> comparer) 51public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
Collections\TemporaryArray`1.cs (2)
249public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 252public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
CommandLine\AnalyzerConfig.cs (1)
311public static IEqualityComparer<string> NameEqualityComparer { get; } = StringComparer.Ordinal;
DiagnosticAnalyzer\AdditionalTextValueProvider.cs (1)
23public AdditionalTextValueProvider(Func<AdditionalText, TValue> computeValue, IEqualityComparer<AdditionalText>? additionalTextComparer = null)
DiagnosticAnalyzer\AnalysisValueProvider.cs (2)
23internal IEqualityComparer<TKey> KeyComparer { get; private set; } 25public AnalysisValueProvider(Func<TKey, TValue> computeValue, IEqualityComparer<TKey> keyComparer)
DiagnosticAnalyzer\SourceTextValueProvider.cs (1)
24public SourceTextValueProvider(Func<SourceText, TValue> computeValue, IEqualityComparer<SourceText>? sourceTextComparer = null)
DiagnosticAnalyzer\SyntaxTreeValueProvider.cs (1)
23public SyntaxTreeValueProvider(Func<SyntaxTree, TValue> computeValue, IEqualityComparer<SyntaxTree>? syntaxTreeComparer = null)
Emit\EditAndContinue\DeltaMetadataWriter.cs (3)
239private static Dictionary<K, V> CreateDictionary<K, V>(IReadOnlyDictionary<K, V> dictionary, IEqualityComparer<K>? comparer) 251private static IReadOnlyDictionary<K, V> AddRange<K, V>(IReadOnlyDictionary<K, V> previous, IReadOnlyDictionary<K, V> current, IEqualityComparer<K>? comparer = null) 1451public DefinitionIndexBase(int lastRowId, IEqualityComparer<T>? comparer = null)
FileSystem\PathUtilities.cs (1)
876public static readonly IEqualityComparer<string> Comparer = new PathComparer();
InternalUtilities\ConcurrentSet.cs (1)
49public ConcurrentSet(IEqualityComparer<T> equalityComparer)
InternalUtilities\EmptyComparer.cs (2)
23bool IEqualityComparer<object>.Equals(object? a, object? b) 26int IEqualityComparer<object>.GetHashCode(object s)
InternalUtilities\EnumerableExtensions.cs (7)
131public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 161public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 571public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 580private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 596public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 721public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 787internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
InternalUtilities\IReadOnlyListExtensions.cs (1)
11public static bool Contains<T>(this IReadOnlyList<T> list, T item, IEqualityComparer<T>? comparer = null)
InternalUtilities\MultiDictionary.cs (7)
103private readonly IEqualityComparer<V> _equalityComparer; 131public ValueSet(object? value, IEqualityComparer<V>? equalityComparer = null) 181public bool Contains(V v, IEqualityComparer<V> comparer) 208private readonly IEqualityComparer<V>? _valueComparer; 234public MultiDictionary(IEqualityComparer<K> comparer) 246public MultiDictionary(int capacity, IEqualityComparer<K> comparer, IEqualityComparer<V>? valueComparer = null)
InternalUtilities\OneOrMany.cs (5)
190public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 205public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 208public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 280public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 283public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
InternalUtilities\ReferenceEqualityComparer.cs (2)
21bool IEqualityComparer<object?>.Equals(object? a, object? b) 26int IEqualityComparer<object?>.GetHashCode(object? a)
InternalUtilities\StringOrdinalComparer.cs (2)
25bool IEqualityComparer<string>.Equals(string? a, string? b) 36int IEqualityComparer<string>.GetHashCode(string s)
PEWriter\MetadataWriter.cs (3)
4301public InstanceAndStructuralReferenceIndex(MetadataWriter writer, IEqualityComparer<T> structuralComparer, int lastRowId = 0) 4337bool IEqualityComparer<(ImmutableArray<byte>, bool)>.Equals((ImmutableArray<byte>, bool) x, (ImmutableArray<byte>, bool) y) 4342int IEqualityComparer<(ImmutableArray<byte>, bool)>.GetHashCode((ImmutableArray<byte>, bool) x)
SourceGeneration\Nodes\BatchNode.cs (3)
19private readonly IEqualityComparer<ImmutableArray<TInput>>? _comparer; 22public BatchNode(IIncrementalGeneratorNode<TInput> sourceNode, IEqualityComparer<ImmutableArray<TInput>>? comparer = null, string? name = null) 29public IIncrementalGeneratorNode<ImmutableArray<TInput>> WithComparer(IEqualityComparer<ImmutableArray<TInput>> comparer) => new BatchNode<TInput>(_sourceNode, comparer, _name);
SourceGeneration\Nodes\CombineNode.cs (3)
20private readonly IEqualityComparer<(TInput1, TInput2)>? _comparer; 23public CombineNode(IIncrementalGeneratorNode<TInput1> input1, IIncrementalGeneratorNode<TInput2> input2, IEqualityComparer<(TInput1, TInput2)>? comparer = null, string? name = null) 103public IIncrementalGeneratorNode<(TInput1, TInput2)> WithComparer(IEqualityComparer<(TInput1, TInput2)> comparer) => new CombineNode<TInput1, TInput2>(_input1, _input2, comparer, _name);
SourceGeneration\Nodes\DriverStateTable.cs (1)
66NodeStateTable<T>? previousTable, string? stepName, IEqualityComparer<T>? equalityComparer, int? tableCapacity = null)
SourceGeneration\Nodes\HostOutputNode.cs (1)
98IIncrementalGeneratorNode<OutputType> IIncrementalGeneratorNode<OutputType>.WithComparer(IEqualityComparer<OutputType> comparer) => throw ExceptionUtilities.Unreachable();
SourceGeneration\Nodes\IIncrementalGeneratorNode.cs (1)
18IIncrementalGeneratorNode<T> WithComparer(IEqualityComparer<T> comparer);
SourceGeneration\Nodes\InputNode.cs (6)
26private readonly IEqualityComparer<T> _inputComparer; 27private readonly IEqualityComparer<T>? _comparer; 30public InputNode(Func<DriverStateTable.Builder, ImmutableArray<T>> getInput, IEqualityComparer<T>? inputComparer = null) 35private InputNode(Func<DriverStateTable.Builder, ImmutableArray<T>> getInput, Action<IIncrementalGeneratorOutputNode>? registerOutput, IEqualityComparer<T>? inputComparer = null, IEqualityComparer<T>? comparer = null, string? name = null) 114public IIncrementalGeneratorNode<T> WithComparer(IEqualityComparer<T> comparer) => new InputNode<T>(_getInput, _registerOutput, _inputComparer, comparer, _name);
SourceGeneration\Nodes\ISyntaxStrategy.cs (1)
15ISyntaxInputBuilder GetBuilder(StateTableStore tableStore, object key, bool trackIncrementalSteps, string? name, IEqualityComparer<T> comparer);
SourceGeneration\Nodes\NodeStateTable.cs (5)
183public Builder ToBuilder(string? stepName, bool stepTrackingEnabled, IEqualityComparer<T>? equalityComparer = null, int? tableCapacity = null) 186public NodeStateTable<T> CreateCachedTableWithUpdatedSteps<TInput>(NodeStateTable<TInput> inputTable, string? stepName, IEqualityComparer<T>? equalityComparer) 232private readonly IEqualityComparer<T> _equalityComparer; 248IEqualityComparer<T>? equalityComparer, 605public bool Matches(TableEntry entry, IEqualityComparer<T> equalityComparer)
SourceGeneration\Nodes\PredicateSyntaxStrategy.cs (3)
33public ISyntaxInputBuilder GetBuilder(StateTableStore table, object key, bool trackIncrementalSteps, string? name, IEqualityComparer<T> comparer) => new Builder(this, key, table, trackIncrementalSteps, name, comparer); 39private readonly IEqualityComparer<T> _comparer; 45public Builder(PredicateSyntaxStrategy<T> owner, object key, StateTableStore table, bool trackIncrementalSteps, string? name, IEqualityComparer<T> comparer)
SourceGeneration\Nodes\SourceOutputNode.cs (1)
92IIncrementalGeneratorNode<TOutput> IIncrementalGeneratorNode<TOutput>.WithComparer(IEqualityComparer<TOutput> comparer) => throw ExceptionUtilities.Unreachable();
SourceGeneration\Nodes\SyntaxInputNode.cs (3)
20private readonly IEqualityComparer<T> _comparer; 23internal SyntaxInputNode(ISyntaxSelectionStrategy<T> inputNode, Action<SyntaxInputNode, IIncrementalGeneratorOutputNode> registerOutput, IEqualityComparer<T>? comparer = null, string? name = null) 36public IIncrementalGeneratorNode<T> WithComparer(IEqualityComparer<T> comparer) => new SyntaxInputNode<T>(_inputNode, _registerOutput, comparer, _name);
SourceGeneration\Nodes\SyntaxReceiverStrategy.cs (1)
30public ISyntaxInputBuilder GetBuilder(StateTableStore table, object key, bool trackIncrementalSteps, string? name, IEqualityComparer<T> comparer) => new Builder(this, key, table, trackIncrementalSteps);
SourceGeneration\Nodes\TransformNode.cs (4)
21private readonly IEqualityComparer<TOutput>? _comparer; 26public TransformNode(IIncrementalGeneratorNode<TInput> sourceNode, Func<TInput, CancellationToken, TOutput> userFunc, bool wrapUserFunc = false, IEqualityComparer<TOutput>? comparer = null, string? name = null) 31public TransformNode(IIncrementalGeneratorNode<TInput> sourceNode, Func<TInput, CancellationToken, ImmutableArray<TOutput>> userFunc, bool wrapUserFunc = false, IEqualityComparer<TOutput>? comparer = null, string? name = null) 40public IIncrementalGeneratorNode<TOutput> WithComparer(IEqualityComparer<TOutput> comparer)
SourceGeneration\Nodes\ValueSourceExtensions.cs (2)
41public static IncrementalValueProvider<TSource> WithComparer<TSource>(this IncrementalValueProvider<TSource> source, IEqualityComparer<TSource> comparer) => new IncrementalValueProvider<TSource>(source.Node.WithComparer(comparer.WrapUserComparer(source.CatchAnalyzerExceptions)), source.CatchAnalyzerExceptions); 43public static IncrementalValuesProvider<TSource> WithComparer<TSource>(this IncrementalValuesProvider<TSource> source, IEqualityComparer<TSource> comparer) => new IncrementalValuesProvider<TSource>(source.Node.WithComparer(comparer.WrapUserComparer(source.CatchAnalyzerExceptions)), source.CatchAnalyzerExceptions);
SourceGeneration\UserFunction.cs (4)
26private readonly IEqualityComparer<T> _inner; 30public WrappedUserComparer(IEqualityComparer<T> inner) 112internal static IEqualityComparer<T> WrapUserComparer<T>(this IEqualityComparer<T> comparer, bool catchAnalyzerExceptions)
src\Dependencies\Collections\ImmutableSegmentedDictionary.cs (6)
21public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 29public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 37public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 54public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 70public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 88public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\ImmutableSegmentedDictionary`2.cs (2)
82public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 265public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\ImmutableSegmentedDictionary`2+Builder.cs (1)
25public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
33public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedHashSet.cs (12)
25/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 26public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 29/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 30public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 33/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 34public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 41/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 42public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 54/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 55public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 72/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 73public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedHashSet`1.cs (3)
77public IEqualityComparer<T> KeyComparer => _set.Comparer; 302/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 303public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedHashSet`1+Builder.cs (1)
25public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
36public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedList`1.cs (11)
304public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 337public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 370/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 371public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 425/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 426public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 479/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 480public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 616IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 622IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 634IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedList`1+Builder.cs (4)
155/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 156public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 178/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 179public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedList`1+ValueBuilder.cs (2)
206public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 242public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\SegmentedArray.cs (2)
214public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 279public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\SegmentedDictionary`2.cs (10)
54private readonly IEqualityComparer<TKey>? _comparer; 76public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 81public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 121public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 137public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 220public IEqualityComparer<TKey> Comparer 407var comparer = _comparer; 521var comparer = _comparer; 708var comparer = _comparer; 785var comparer = _comparer;
src\Dependencies\Collections\SegmentedHashSet`1.cs (10)
61private readonly IEqualityComparer<T>? _comparer; 72public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 74public SegmentedHashSet(IEqualityComparer<T>? comparer) 103public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 136public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 228var comparer = _comparer; 299IEqualityComparer<T>? comparer = _comparer; 863public IEqualityComparer<T> Comparer 990public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1026var comparer = _comparer;
src\Dependencies\Collections\SegmentedList`1.cs (2)
838public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1029public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
202public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 516internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
18private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 43public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
16private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 32public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
Microsoft.CodeAnalysis.CodeStyle (125)
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (2)
107bool IEqualityComparer<ISymbol>.Equals(ISymbol? x, ISymbol? y) 110int IEqualityComparer<ISymbol>.GetHashCode(ISymbol obj)
src\Compilers\Core\Portable\Collections\ImmutableArrayExtensions.cs (5)
754public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 814public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1083internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 1209(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 1295internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer)
src\Compilers\Core\Portable\Collections\TemporaryArray`1.cs (2)
249public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 252public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Compilers\Core\Portable\FileSystem\PathUtilities.cs (1)
876public static readonly IEqualityComparer<string> Comparer = new PathComparer();
src\Compilers\Core\Portable\InternalUtilities\ConcurrentSet.cs (1)
49public ConcurrentSet(IEqualityComparer<T> equalityComparer)
src\Compilers\Core\Portable\InternalUtilities\EnumerableExtensions.cs (7)
131public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 161public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 571public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 580private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 596public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 721public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 787internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (7)
103private readonly IEqualityComparer<V> _equalityComparer; 131public ValueSet(object? value, IEqualityComparer<V>? equalityComparer = null) 181public bool Contains(V v, IEqualityComparer<V> comparer) 208private readonly IEqualityComparer<V>? _valueComparer; 234public MultiDictionary(IEqualityComparer<K> comparer) 246public MultiDictionary(int capacity, IEqualityComparer<K> comparer, IEqualityComparer<V>? valueComparer = null)
src\Compilers\Core\Portable\InternalUtilities\OneOrMany.cs (5)
190public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 205public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 208public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 280public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 283public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Compilers\Core\Portable\InternalUtilities\ReferenceEqualityComparer.cs (2)
21bool IEqualityComparer<object?>.Equals(object? a, object? b) 26int IEqualityComparer<object?>.GetHashCode(object? a)
src\Dependencies\Collections\ImmutableSegmentedDictionary.cs (6)
21public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 29public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 37public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 54public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 70public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 88public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\ImmutableSegmentedDictionary`2.cs (2)
82public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 265public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\ImmutableSegmentedDictionary`2+Builder.cs (1)
25public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
33public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedHashSet.cs (12)
25/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 26public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 29/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 30public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 33/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 34public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 41/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 42public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 54/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 55public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 72/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 73public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedHashSet`1.cs (3)
77public IEqualityComparer<T> KeyComparer => _set.Comparer; 302/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 303public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedHashSet`1+Builder.cs (1)
25public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
36public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedList`1.cs (11)
304public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 337public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 370/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 371public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 425/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 426public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 479/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 480public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 616IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 622IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 634IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedList`1+Builder.cs (4)
155/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 156public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 178/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 179public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedList`1+ValueBuilder.cs (2)
206public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 242public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\SegmentedArray.cs (2)
214public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 279public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\SegmentedDictionary`2.cs (10)
60private readonly IEqualityComparer<TKey> _comparer; 76public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 81public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 121public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 137public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 220public IEqualityComparer<TKey> Comparer 407var comparer = _comparer; 521var comparer = _comparer; 708var comparer = _comparer; 785var comparer = _comparer;
src\Dependencies\Collections\SegmentedHashSet`1.cs (10)
67private readonly IEqualityComparer<T> _comparer; 72public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 74public SegmentedHashSet(IEqualityComparer<T>? comparer) 103public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 136public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 228var comparer = _comparer; 299IEqualityComparer<T>? comparer = _comparer; 863public IEqualityComparer<T> Comparer 990public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1026var comparer = _comparer;
src\Dependencies\Collections\SegmentedList`1.cs (2)
838public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1029public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
202public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 516internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
18private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 43public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
16private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 32public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ImmutableArrayExtensions.cs (1)
21public static bool Contains<T>(this ImmutableArray<T> items, T item, IEqualityComparer<T>? equalityComparer)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\AbstractUnnecessaryImportsProvider.cs (2)
40bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 43int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
132/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 144public static IEqualityComparer<SymbolKey> GetComparer(bool ignoreCase = false, bool ignoreAssemblyKeys = false)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyComparer.cs (2)
52public static IEqualityComparer<SymbolKey> GetComparer(bool ignoreCase, bool ignoreAssemblyKey) 63public static IEqualityComparer<SymbolKey> GetComparer(ComparisonOptions options)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BidirectionalMap.cs (4)
23public BidirectionalMap(IEnumerable<KeyValuePair<TKey, TValue>> pairs, IEqualityComparer<TKey>? keyComparer = null, IEqualityComparer<TValue>? valueComparer = null) 29public BidirectionalMap(IEnumerable<(TKey key, TValue value)> pairs, IEqualityComparer<TKey>? keyComparer = null, IEqualityComparer<TValue>? valueComparer = null)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (1)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SignatureComparer.cs (2)
24private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 26private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.cs (2)
48private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 60IEqualityComparer<IAssemblySymbol>? assemblyComparer,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
16bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
11internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
Microsoft.CodeAnalysis.CodeStyle.Fixes (3)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
17public static readonly IEqualityComparer<ReferenceLocation> Instance = new LinkedFileReferenceLocationEqualityComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (2)
47bool IEqualityComparer<T>.Equals(T? x, T? y) 50int IEqualityComparer<T>.GetHashCode(T obj)
Microsoft.CodeAnalysis.Collections.Package (68)
ImmutableSegmentedDictionary.cs (6)
21public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 29public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 37public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 54public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 70public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 88public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
ImmutableSegmentedDictionary`2.cs (2)
82public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 265public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
ImmutableSegmentedDictionary`2+Builder.cs (1)
25public IEqualityComparer<TKey> KeyComparer
ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
33public IEqualityComparer<TKey> KeyComparer
ImmutableSegmentedHashSet.cs (12)
25/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 26public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 29/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 30public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 33/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 34public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 41/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 42public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 54/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 55public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 72/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 73public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
ImmutableSegmentedHashSet`1.cs (3)
77public IEqualityComparer<T> KeyComparer => _set.Comparer; 302/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 303public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
ImmutableSegmentedHashSet`1+Builder.cs (1)
25public IEqualityComparer<T> KeyComparer
ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
36public IEqualityComparer<T> KeyComparer
ImmutableSegmentedList`1.cs (11)
304public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 337public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 370/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 371public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 425/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 426public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 479/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 480public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 616IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 622IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 634IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
ImmutableSegmentedList`1+Builder.cs (4)
155/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 156public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 178/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 179public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
ImmutableSegmentedList`1+ValueBuilder.cs (2)
206public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 242public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
SegmentedArray.cs (2)
214public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 279public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
SegmentedDictionary`2.cs (10)
60private readonly IEqualityComparer<TKey> _comparer; 76public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 81public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 121public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 137public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 220public IEqualityComparer<TKey> Comparer 407var comparer = _comparer; 521var comparer = _comparer; 708var comparer = _comparer; 785var comparer = _comparer;
SegmentedHashSet`1.cs (10)
67private readonly IEqualityComparer<T> _comparer; 72public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 74public SegmentedHashSet(IEqualityComparer<T>? comparer) 103public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 136public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 228var comparer = _comparer; 299IEqualityComparer<T>? comparer = _comparer; 863public IEqualityComparer<T> Comparer 990public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1026var comparer = _comparer;
SegmentedList`1.cs (2)
838public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1029public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
Microsoft.CodeAnalysis.CSharp (18)
Binder\Imports.cs (3)
211public static readonly IEqualityComparer<NamespaceOrTypeAndUsingDirective> Instance = new UsingTargetComparer(); 215bool IEqualityComparer<NamespaceOrTypeAndUsingDirective>.Equals(NamespaceOrTypeAndUsingDirective x, NamespaceOrTypeAndUsingDirective y) 220int IEqualityComparer<NamespaceOrTypeAndUsingDirective>.GetHashCode(NamespaceOrTypeAndUsingDirective obj)
Binder\Semantics\BestTypeInferrer.cs (1)
68IEqualityComparer<TypeSymbol> comparer = conversions.IncludeNullability ? Symbols.SymbolEqualityComparer.ConsiderEverything : Symbols.SymbolEqualityComparer.IgnoringNullable;
Symbols\MemberSignatureComparer.cs (1)
674private static bool HaveSameTypeConstraints(TypeParameterSymbol typeParameter1, TypeMap? typeMap1, TypeParameterSymbol typeParameter2, TypeMap? typeMap2, IEqualityComparer<TypeSymbol> comparer)
Symbols\MergedNamespaceSymbol.cs (1)
169private SegmentedHashSet<ReadOnlyMemory<char>> SlowGetChildNames(IEqualityComparer<ReadOnlyMemory<char>> comparer)
Symbols\OverriddenOrHiddenMembersHelpers.cs (3)
551IEqualityComparer<Symbol> exactMatchComparer = memberIsFromSomeCompilation 555IEqualityComparer<Symbol> fallbackComparer = memberIsFromSomeCompilation 858IEqualityComparer<Symbol> comparer = MemberSignatureComparer.CSharpCustomModifierOverrideComparer;
Symbols\Retargeting\RetargetingSymbolTranslator.cs (6)
882public MethodSymbol Retarget(MethodSymbol method, IEqualityComparer<MethodSymbol> retargetedMethodComparer) 932public PropertySymbol Retarget(PropertySymbol property, IEqualityComparer<PropertySymbol> retargetedPropertyComparer) 964private MethodSymbol FindMethodInRetargetedType(MethodSymbol method, NamedTypeSymbol retargetedType, IEqualityComparer<MethodSymbol> retargetedMethodComparer) 981public static MethodSymbol Find(RetargetingSymbolTranslator translator, MethodSymbol method, NamedTypeSymbol retargetedType, IEqualityComparer<MethodSymbol> retargetedMethodComparer) 999IEqualityComparer<MethodSymbol> retargetedMethodComparer 1074private PropertySymbol FindPropertyInRetargetedType(PropertySymbol property, NamedTypeSymbol retargetedType, IEqualityComparer<PropertySymbol> retargetedPropertyComparer)
Symbols\Source\SourceNamedTypeSymbol.cs (1)
627static SmallDictionary<TypeWithAnnotations, int> toDictionary(ImmutableArray<TypeWithAnnotations> constraintTypes, IEqualityComparer<TypeWithAnnotations> comparer)
Syntax\SyntaxKindEqualityComparer.cs (1)
31public static IEqualityComparer<SyntaxKind> EqualityComparer { get; } = new SyntaxKindEqualityComparer();
Utilities\FirstAmongEqualsSet.cs (1)
47IEqualityComparer<T> equalityComparer,
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (3)
Completion\CompletionProviders\LoadDirectiveCompletionProviderTests.cs (1)
28protected override IEqualityComparer<string> GetStringComparer()
Completion\CompletionProviders\ReferenceDirectiveCompletionProviderTests.cs (1)
31protected override IEqualityComparer<string> GetStringComparer()
SymbolKey\SymbolKeyTestBase.cs (1)
87var comparer = SymbolKey.GetComparer(ignoreCase: false, ignoreAssemblyKeys: false);
Microsoft.CodeAnalysis.CSharp.Features (3)
Completion\CompletionProviders\FunctionPointerUnmanagedCallingConventionCompletionProvider.cs (1)
127public static readonly IEqualityComparer<CompletionItem> Instance = new CompletionItemComparer();
Completion\CompletionProviders\NamedParameterCompletionProvider.cs (2)
274bool IEqualityComparer<IParameterSymbol>.Equals(IParameterSymbol? x, IParameterSymbol? y) 277int IEqualityComparer<IParameterSymbol>.GetHashCode(IParameterSymbol obj)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (1)
SourceGeneration\StateTableTests.cs (1)
1376public IIncrementalGeneratorNode<T> WithComparer(IEqualityComparer<T> comparer) => this;
Microsoft.CodeAnalysis.EditorFeatures.Test.Utilities (1)
Completion\AbstractCompletionProviderTests.cs (1)
426protected virtual IEqualityComparer<string> GetStringComparer()
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (1)
Utilities\SymbolEquivalenceComparerTests.cs (1)
1777public static readonly IEqualityComparer<IAssemblySymbol> Instance = new AssemblySymbolIdentityComparer();
Microsoft.CodeAnalysis.ExpressionEvaluator.ResultProvider.Utilities (2)
ResultProviderTestBase.cs (2)
544bool IEqualityComparer<DkmCustomUIVisualizerInfo>.Equals(DkmCustomUIVisualizerInfo x, DkmCustomUIVisualizerInfo y) 560int IEqualityComparer<DkmCustomUIVisualizerInfo>.GetHashCode(DkmCustomUIVisualizerInfo obj)
Microsoft.CodeAnalysis.Features (19)
AddImport\AbstractAddImportFeatureService.cs (2)
435bool IEqualityComparer<PortableExecutableReference>.Equals(PortableExecutableReference? x, PortableExecutableReference? y) 448int IEqualityComparer<PortableExecutableReference>.GetHashCode(PortableExecutableReference obj)
Completion\CompletionService.ProviderManager.cs (2)
222bool IEqualityComparer<ImmutableHashSet<string>>.Equals([AllowNull] ImmutableHashSet<string> x, [AllowNull] ImmutableHashSet<string> y) 245int IEqualityComparer<ImmutableHashSet<string>>.GetHashCode([DisallowNull] ImmutableHashSet<string> obj)
Completion\Providers\ImportCompletionProvider\ExtensionMethodImportCompletionCacheEntry.cs (1)
33public class Builder(Checksum checksum, string langauge, IEqualityComparer<string> comparer)
Debugging\AbstractBreakpointResolver.cs (4)
60private readonly IEqualityComparer<string> _identifierComparer; 66IEqualityComparer<string> identifierComparer) 158private static bool MatchesName(INamespaceOrTypeSymbol typeOrNamespace, NameAndArity nameAndArity, IEqualityComparer<string> comparer) 172private static bool MatchesNames(INamedTypeSymbol type, NameAndArity[] names, IEqualityComparer<string> comparer)
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (3)
2328public static readonly IEqualityComparer<IAssemblySymbol?> Instance = new AssemblyEqualityComparer(); 2393=> (exact ? s_exactSymbolEqualityComparer : (IEqualityComparer<ITypeSymbol?>)s_runtimeSymbolEqualityComparer.SignatureTypeEquivalenceComparer).Equals(oldType, newType); 3917private static readonly IEqualityComparer<SymbolKey> s_symbolKeyComparer = SymbolKey.GetComparer();
EditAndContinue\EditSession.cs (1)
757var symbolKeyComparer = SymbolKey.GetComparer(ignoreCase: false, ignoreAssemblyKeys: true);
MetadataAsSource\DecompilationMetadataAsSourceFileProvider.cs (1)
386private static readonly IEqualityComparer<SymbolKey> s_symbolIdComparer = SymbolKey.GetComparer(ignoreCase: false, ignoreAssemblyKeys: true);
NavigateTo\NavigateToSearchResultComparer.cs (1)
21public static readonly IEqualityComparer<INavigateToSearchResult> Instance = new NavigateToSearchResultComparer();
ReplacePropertyWithMethods\ReplacePropertyWithMethodsCodeRefactoringProvider.cs (1)
33IEqualityComparer<(IPropertySymbol property, ReferenceLocation location)>
Shared\Extensions\DocumentExtensions.cs (1)
56IEqualityComparer<T> comparer,
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (2)
107bool IEqualityComparer<ISymbol>.Equals(ISymbol? x, ISymbol? y) 110int IEqualityComparer<ISymbol>.GetHashCode(ISymbol obj)
Microsoft.CodeAnalysis.InteractiveHost (5)
src\Compilers\Core\Portable\FileSystem\PathUtilities.cs (1)
876public static readonly IEqualityComparer<string> Comparer = new PathComparer();
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
202public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 516internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
16private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 32public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
Microsoft.CodeAnalysis.LanguageServer (3)
HostWorkspace\LoadedProject.cs (2)
241void UpdateProjectSystemProjectCollection<T>(IEnumerable<T> loadedCollection, IEnumerable<T>? oldLoadedCollection, IEqualityComparer<T> comparer, Action<T> addItem, Action<T> removeItem, string logMessage) 298public static IEqualityComparer<DocumentFileInfo> Instance = new DocumentFileInfoComparer();
HostWorkspace\ProjectToLoad.cs (1)
14public static IEqualityComparer<ProjectToLoad> Comparer = new ProjectToLoadComparer();
Microsoft.CodeAnalysis.PooledObjects.Package (6)
ArrayBuilder.cs (2)
202public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 516internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
PooledDictionary.cs (2)
18private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 43public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
PooledHashSet.cs (2)
16private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 32public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
Microsoft.CodeAnalysis.Test.Utilities (25)
Assert\AssertEx.cs (16)
41public static readonly IEqualityComparer<T> Instance = new AssertEqualityComparer<T>(); 65bool IEqualityComparer<T>.Equals(T x, T y) 120int IEqualityComparer<T>.GetHashCode(T obj) 128public static void AreEqual<T>(T expected, T actual, string message = null, IEqualityComparer<T> comparer = null) 170public static void Equal<T>(ImmutableArray<T> expected, IEnumerable<T> actual, IEqualityComparer<T> comparer = null, string message = null) 185public static void SequenceEqual<T>(IEnumerable<T> expected, IEnumerable<T> actual, IEqualityComparer<T> comparer = null, string message = null, string itemSeparator = null) 200public static void Equal<T>(ImmutableArray<T> expected, ImmutableArray<T> actual, IEqualityComparer<T> comparer = null, string message = null, string itemSeparator = null) 225IEqualityComparer<T> comparer = null, 252IEqualityComparer<T> comparer = null, 312public static void NotEqual<T>(IEnumerable<T> expected, IEnumerable<T> actual, IEqualityComparer<T> comparer = null, string message = null) 329private static bool SequenceEqual<T>(IEnumerable<T> expected, IEnumerable<T> actual, IEqualityComparer<T> comparer = null) 366private static bool SequenceEqual<T>(ReadOnlySpan<T> expected, ReadOnlySpan<T> actual, IEqualityComparer<T> comparer = null) 382public static void SetEqual(IEnumerable<string> expected, IEnumerable<string> actual, IEqualityComparer<string> comparer = null, string message = null, string itemSeparator = "\r\n", Func<string, string> itemInspector = null) 477public static void SetEqual<T>(IEnumerable<T> expected, IEnumerable<T> actual, IEqualityComparer<T> comparer = null, string message = null, string itemSeparator = "\r\n", Func<T, string> itemInspector = null) 657IEqualityComparer<T> comparer = null, 762IEqualityComparer<T> comparer = null,
Assert\AssertXml.cs (3)
140private static bool CheckEqual(XElement expectedRoot, XElement actualRoot, IEqualityComparer<XElement> shallowComparer, out Tuple<XElement, XElement> firstMismatch) 214public static readonly IEqualityComparer<XElement> Instance = new ShallowElementComparer(); 239public static readonly IEqualityComparer<XElement> Instance = new NameAndAttributeComparer();
Assert\DiffUtil.cs (3)
43private readonly IEqualityComparer<T> _comparer; 45public LCS(IEqualityComparer<T> comparer) 77public static string DiffReport<T>(IEnumerable<T> expected, IEnumerable<T> actual, string separator, IEqualityComparer<T> comparer = null, Func<T, string> toString = null)
Compilation\TestSyntaxTreeOptionsProvider.cs (1)
19IEqualityComparer<string> comparer,
Mocks\TestEqualityComparer.cs (1)
13public class TestEqualityComparer<T>(Func<T?, T?, bool>? equals = null, Func<T, int>? getHashCode = null) : IEqualityComparer<T>
TestHelpers.cs (1)
27IEqualityComparer<K> comparer,
Microsoft.CodeAnalysis.UnitTests (43)
CachingLookupTests.cs (3)
38private SegmentedHashSet<string> Keys(int[] numbers, bool randomCase, IEqualityComparer<string> comparer) 316SegmentedHashSet<int> getKeys(IEqualityComparer<int> comparer) 359SegmentedHashSet<int> getKeys(IEqualityComparer<int> comparer)
Collections\BadHasher.cs (2)
21private readonly IEqualityComparer<T> _equalityComparer; 23internal BadHasher(IEqualityComparer<T>? equalityComparer = null)
Collections\HashSet\ISet_Generic_Tests`1.cs (10)
159IEqualityComparer<T> comparer = GetIEqualityComparer(); 174IEqualityComparer<T> comparer = GetIEqualityComparer(); 198IEqualityComparer<T> comparer = GetIEqualityComparer(); 221IEqualityComparer<T> comparer = GetIEqualityComparer(); 233IEqualityComparer<T> comparer = GetIEqualityComparer(); 245IEqualityComparer<T> comparer = GetIEqualityComparer(); 259IEqualityComparer<T> comparer = GetIEqualityComparer(); 281IEqualityComparer<T> comparer = GetIEqualityComparer(); 296IEqualityComparer<T> comparer = GetIEqualityComparer(); 652IEqualityComparer<T> comparer = GetIEqualityComparer();
Collections\HashSet\SegmentedHashSet_Generic_Tests.cs (7)
42protected override IEqualityComparer<int> GetIEqualityComparer() 66protected override IEqualityComparer<SimpleInt> GetIEqualityComparer() 104protected override IEqualityComparer<int> GetIEqualityComparer() 123protected override IEqualityComparer<int> GetIEqualityComparer() 142protected override IEqualityComparer<int> GetIEqualityComparer() 166protected override IEqualityComparer<int> GetIEqualityComparer() 185protected override IEqualityComparer<int> GetIEqualityComparer()
Collections\HashSet\SegmentedHashSet_Generic_Tests`1.cs (5)
65IEqualityComparer<T> comparer = GetIEqualityComparer(); 76IEqualityComparer<T>? comparer = null; 407IEqualityComparer<T> comparer = GetIEqualityComparer(); 420IEqualityComparer<T> comparer = GetIEqualityComparer(); 433IEqualityComparer<T> comparer = GetIEqualityComparer();
Collections\HashSet\TestingTypes.cs (2)
401private readonly IEqualityComparer<T> _comparer; 403public EqualityComparerConstantHashCode(IEqualityComparer<T> comparer) => _comparer = comparer;
Collections\ImmutableArrayExtensionsTests.cs (3)
95IEqualityComparer<int> comparer = new AbsoluteValueComparer(); 128bool IEqualityComparer<int>.Equals(int x, int y) 133int IEqualityComparer<int>.GetHashCode(int x)
Collections\ImmutableDictionaryTestBase.cs (1)
326protected abstract IEqualityComparer<TValue> GetValueComparer<TKey, TValue>(IImmutableDictionary<TKey, TValue> dictionary)
Collections\ImmutableSegmentedDictionaryTest.cs (2)
339protected override IEqualityComparer<TValue> GetValueComparer<TKey, TValue>(IImmutableDictionary<TKey, TValue> dictionary) 351private static ImmutableSegmentedDictionary<TKey, TValue> Empty<TKey, TValue>(IEqualityComparer<TKey>? keyComparer = null)
Collections\ImmutableSegmentedHashSetTest.nonnetstandard.cs (1)
40private static void EmptyTestHelper<T>(System.Collections.Immutable.IImmutableSet<T> emptySet, T value, IEqualityComparer<T>? comparer)
Collections\ImmutableSetTest.nonnetstandard.cs (1)
77protected static IEqualityComparer<T>? GetEqualityComparer<T>(System.Collections.Immutable.IImmutableSet<T> set)
Collections\IndexOfTests.cs (3)
27Func<TCollection, int, int, int, IEqualityComparer<int>?, int> indexOfItemIndexCountEQ) 94Func<TCollection, int, IEqualityComparer<int>, int> lastIndexOfItemEQ, 97Func<TCollection, int, int, int, IEqualityComparer<int>?, int> lastIndexOfItemIndexCountEQ)
Collections\List\ICollection.Generic.Tests.cs (1)
58IEqualityComparer<T> comparer = GetIEqualityComparer();
Collections\List\TestBase.Generic.cs (1)
38protected virtual IEqualityComparer<T> GetIEqualityComparer() => EqualityComparer<T>.Default;
Collections\TestExtensionsMethods.nonnetstandard.cs (1)
42internal static IEqualityComparer<TKey> GetKeyComparer<TKey, TValue>(this IImmutableDictionary<TKey, TValue> dictionary)
Microsoft.CodeAnalysis.VisualBasic (20)
Binding\Binder_XmlLiterals.vb (2)
588Private Function IEqualityComparer_Equals(x As XmlName, y As XmlName) As Boolean Implements IEqualityComparer(Of XmlName).Equals 592Private Function IEqualityComparer_GetHashCode(obj As XmlName) As Integer Implements IEqualityComparer(Of XmlName).GetHashCode
Declarations\SingleNamespaceDeclaration.vb (3)
62Private Shadows Function Equals(decl1 As SingleNamespaceDeclaration, decl2 As SingleNamespaceDeclaration) As Boolean Implements IEqualityComparer(Of SingleNamespaceDeclaration).Equals 66Private Shadows Function GetHashCode(decl1 As SingleNamespaceDeclaration) As Integer Implements IEqualityComparer(Of SingleNamespaceDeclaration).GetHashCode 71Public Shared ReadOnly EqualityComparer As IEqualityComparer(Of SingleNamespaceDeclaration) = New Comparer()
Symbols\EventSignatureComparer.vb (2)
110Implements IEqualityComparer(Of EventSymbol).Equals 151Implements IEqualityComparer(Of EventSymbol).GetHashCode
Symbols\MergedNamespaceSymbol.vb (1)
238Private Function SlowGetChildNames(comparer As IEqualityComparer(Of String)) As SegmentedHashSet(Of String)
Symbols\MethodSignatureComparer.vb (2)
233Implements IEqualityComparer(Of MethodSymbol).Equals 288Implements IEqualityComparer(Of MethodSymbol).GetHashCode
Symbols\PropertySignatureComparer.vb (2)
93Implements IEqualityComparer(Of PropertySymbol).Equals 129Implements IEqualityComparer(Of PropertySymbol).GetHashCode
Symbols\Retargeting\RetargetingSymbolTranslator.vb (6)
881Public Function Retarget(method As MethodSymbol, retargetedMethodComparer As IEqualityComparer(Of MethodSymbol)) As MethodSymbol 913Private Function FindMethodInRetargetedType(method As MethodSymbol, retargetedType As NamedTypeSymbol, retargetedMethodComparer As IEqualityComparer(Of MethodSymbol)) As MethodSymbol 934retargetedMethodComparer As IEqualityComparer(Of MethodSymbol) 958retargetedMethodComparer As IEqualityComparer(Of MethodSymbol) 1067Public Function Retarget([property] As PropertySymbol, retargetedPropertyComparer As IEqualityComparer(Of PropertySymbol)) As PropertySymbol 1081Private Function FindPropertyInRetargetedType([property] As PropertySymbol, retargetedType As NamedTypeSymbol, retargetedPropertyComparer As IEqualityComparer(Of PropertySymbol)) As PropertySymbol
Symbols\TypeSymbol.vb (2)
760Public Overloads Function Equals(x As Symbol, y As Symbol) As Boolean Implements IEqualityComparer(Of Symbol).Equals 765Public Overloads Function GetHashCode(obj As Symbol) As Integer Implements IEqualityComparer(Of Symbol).GetHashCode
Microsoft.CodeAnalysis.Workspaces (134)
FindSymbols\FindReferences\MetadataUnifyingEquivalenceComparer.cs (1)
13public static readonly IEqualityComparer<ISymbol> Instance = new MetadataUnifyingEquivalenceComparer();
Rename\ConflictEngine\ConflictingIdentifierTracker.cs (1)
9internal sealed class ConflictingIdentifierTracker(SyntaxToken tokenBeingRenamed, IEqualityComparer<string> identifierComparer)
Shared\Extensions\INamespaceSymbolExtensions.cs (1)
20public static readonly IEqualityComparer<INamespaceSymbol> EqualityComparer = new Comparer();
Shared\Utilities\AsyncBatchingWorkQueue`1.cs (1)
18IEqualityComparer<TItem>? equalityComparer,
Shared\Utilities\AsyncBatchingWorkQueue`2.cs (2)
38private readonly IEqualityComparer<TItem>? _equalityComparer; 107IEqualityComparer<TItem>? equalityComparer,
src\Compilers\Core\Portable\Collections\ImmutableArrayExtensions.cs (5)
754public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 814public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1083internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 1209(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 1295internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer)
src\Compilers\Core\Portable\Collections\TemporaryArray`1.cs (2)
249public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 252public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Compilers\Core\Portable\FileSystem\PathUtilities.cs (1)
876public static readonly IEqualityComparer<string> Comparer = new PathComparer();
src\Compilers\Core\Portable\InternalUtilities\ConcurrentSet.cs (1)
49public ConcurrentSet(IEqualityComparer<T> equalityComparer)
src\Compilers\Core\Portable\InternalUtilities\EnumerableExtensions.cs (7)
131public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 161public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 571public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 580private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 596public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 721public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 787internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (7)
103private readonly IEqualityComparer<V> _equalityComparer; 131public ValueSet(object? value, IEqualityComparer<V>? equalityComparer = null) 181public bool Contains(V v, IEqualityComparer<V> comparer) 208private readonly IEqualityComparer<V>? _valueComparer; 234public MultiDictionary(IEqualityComparer<K> comparer) 246public MultiDictionary(int capacity, IEqualityComparer<K> comparer, IEqualityComparer<V>? valueComparer = null)
src\Compilers\Core\Portable\InternalUtilities\OneOrMany.cs (5)
190public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 205public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 208public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 280public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 283public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Compilers\Core\Portable\InternalUtilities\ReferenceEqualityComparer.cs (2)
21bool IEqualityComparer<object?>.Equals(object? a, object? b) 26int IEqualityComparer<object?>.GetHashCode(object? a)
src\Dependencies\Collections\ImmutableSegmentedDictionary.cs (6)
21public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 29public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 37public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 54public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 70public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 88public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\ImmutableSegmentedDictionary`2.cs (2)
82public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 265public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\ImmutableSegmentedDictionary`2+Builder.cs (1)
25public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
33public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedHashSet.cs (12)
25/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 26public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 29/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 30public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 33/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 34public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 41/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 42public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 54/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 55public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 72/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 73public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedHashSet`1.cs (3)
77public IEqualityComparer<T> KeyComparer => _set.Comparer; 302/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 303public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedHashSet`1+Builder.cs (1)
25public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
36public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedList`1.cs (11)
304public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 337public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 370/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 371public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 425/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 426public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 479/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 480public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 616IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 622IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 634IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedList`1+Builder.cs (4)
155/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 156public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 178/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 179public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedList`1+ValueBuilder.cs (2)
206public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 242public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\SegmentedArray.cs (2)
214public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 279public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\SegmentedDictionary`2.cs (10)
60private readonly IEqualityComparer<TKey> _comparer; 76public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 81public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 121public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 137public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 220public IEqualityComparer<TKey> Comparer 407var comparer = _comparer; 521var comparer = _comparer; 708var comparer = _comparer; 785var comparer = _comparer;
src\Dependencies\Collections\SegmentedHashSet`1.cs (10)
67private readonly IEqualityComparer<T> _comparer; 72public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 74public SegmentedHashSet(IEqualityComparer<T>? comparer) 103public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 136public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 228var comparer = _comparer; 299IEqualityComparer<T>? comparer = _comparer; 863public IEqualityComparer<T> Comparer 990public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1026var comparer = _comparer;
src\Dependencies\Collections\SegmentedList`1.cs (2)
838public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1029public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
202public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 516internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
18private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 43public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
16private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 32public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ImmutableArrayExtensions.cs (1)
21public static bool Contains<T>(this ImmutableArray<T> items, T item, IEqualityComparer<T>? equalityComparer)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\AbstractUnnecessaryImportsProvider.cs (2)
40bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 43int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
132/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 144public static IEqualityComparer<SymbolKey> GetComparer(bool ignoreCase = false, bool ignoreAssemblyKeys = false)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyComparer.cs (2)
52public static IEqualityComparer<SymbolKey> GetComparer(bool ignoreCase, bool ignoreAssemblyKey) 63public static IEqualityComparer<SymbolKey> GetComparer(ComparisonOptions options)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BidirectionalMap.cs (4)
23public BidirectionalMap(IEnumerable<KeyValuePair<TKey, TValue>> pairs, IEqualityComparer<TKey>? keyComparer = null, IEqualityComparer<TValue>? valueComparer = null) 29public BidirectionalMap(IEnumerable<(TKey key, TValue value)> pairs, IEqualityComparer<TKey>? keyComparer = null, IEqualityComparer<TValue>? valueComparer = null)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (1)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SignatureComparer.cs (2)
24private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 26private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.cs (2)
48private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 60IEqualityComparer<IAssemblySymbol>? assemblyComparer,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
16bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
11internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
17public static readonly IEqualityComparer<ReferenceLocation> Instance = new LinkedFileReferenceLocationEqualityComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (2)
47bool IEqualityComparer<T>.Equals(T? x, T? y) 50int IEqualityComparer<T>.GetHashCode(T obj)
Workspace\Host\PersistentStorage\DocumentKey.cs (1)
19internal readonly struct DocumentKey(ProjectKey project, DocumentId id, string? filePath, string name) : IEqualityComparer<DocumentKey>, IEquatable<DocumentKey>
Workspace\Solution\SolutionState.cs (1)
36public static readonly IEqualityComparer<string> FilePathComparer = CachingFilePathComparer.Instance;
Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost (110)
src\Compilers\Core\Portable\Collections\ImmutableArrayExtensions.cs (5)
754public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 814public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1083internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 1209(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 1295internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer)
src\Compilers\Core\Portable\Collections\TemporaryArray`1.cs (2)
249public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 252public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Compilers\Core\Portable\FileSystem\PathUtilities.cs (1)
876public static readonly IEqualityComparer<string> Comparer = new PathComparer();
src\Compilers\Core\Portable\InternalUtilities\ConcurrentSet.cs (1)
49public ConcurrentSet(IEqualityComparer<T> equalityComparer)
src\Compilers\Core\Portable\InternalUtilities\EmptyComparer.cs (2)
23bool IEqualityComparer<object>.Equals(object? a, object? b) 26int IEqualityComparer<object>.GetHashCode(object s)
src\Compilers\Core\Portable\InternalUtilities\EnumerableExtensions.cs (7)
131public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 161public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 571public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 580private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 596public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 721public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 787internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Compilers\Core\Portable\InternalUtilities\IReadOnlyListExtensions.cs (1)
11public static bool Contains<T>(this IReadOnlyList<T> list, T item, IEqualityComparer<T>? comparer = null)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (7)
103private readonly IEqualityComparer<V> _equalityComparer; 131public ValueSet(object? value, IEqualityComparer<V>? equalityComparer = null) 181public bool Contains(V v, IEqualityComparer<V> comparer) 208private readonly IEqualityComparer<V>? _valueComparer; 234public MultiDictionary(IEqualityComparer<K> comparer) 246public MultiDictionary(int capacity, IEqualityComparer<K> comparer, IEqualityComparer<V>? valueComparer = null)
src\Compilers\Core\Portable\InternalUtilities\OneOrMany.cs (5)
190public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 205public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 208public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 280public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 283public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Compilers\Core\Portable\InternalUtilities\ReferenceEqualityComparer.cs (2)
21bool IEqualityComparer<object?>.Equals(object? a, object? b) 26int IEqualityComparer<object?>.GetHashCode(object? a)
src\Compilers\Core\Portable\InternalUtilities\StringOrdinalComparer.cs (2)
25bool IEqualityComparer<string>.Equals(string? a, string? b) 36int IEqualityComparer<string>.GetHashCode(string s)
src\Dependencies\Collections\ImmutableSegmentedDictionary.cs (6)
21public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 29public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 37public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 54public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 70public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 88public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\ImmutableSegmentedDictionary`2.cs (2)
82public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 265public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\ImmutableSegmentedDictionary`2+Builder.cs (1)
25public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
33public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedHashSet.cs (12)
25/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 26public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 29/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 30public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 33/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 34public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 41/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 42public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 54/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 55public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 72/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 73public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedHashSet`1.cs (3)
77public IEqualityComparer<T> KeyComparer => _set.Comparer; 302/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 303public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedHashSet`1+Builder.cs (1)
25public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
36public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\ImmutableSegmentedList`1.cs (11)
304public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 337public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 370/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 371public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 425/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 426public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 479/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 480public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 616IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 622IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 634IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedList`1+Builder.cs (4)
155/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 156public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 178/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 179public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\ImmutableSegmentedList`1+ValueBuilder.cs (2)
206public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 242public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\SegmentedArray.cs (2)
214public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 279public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\SegmentedDictionary`2.cs (10)
54private readonly IEqualityComparer<TKey>? _comparer; 76public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 81public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 121public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 137public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 220public IEqualityComparer<TKey> Comparer 407var comparer = _comparer; 521var comparer = _comparer; 708var comparer = _comparer; 785var comparer = _comparer;
src\Dependencies\Collections\SegmentedHashSet`1.cs (10)
61private readonly IEqualityComparer<T>? _comparer; 72public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 74public SegmentedHashSet(IEqualityComparer<T>? comparer) 103public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 136public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 228var comparer = _comparer; 299IEqualityComparer<T>? comparer = _comparer; 863public IEqualityComparer<T> Comparer 990public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1026var comparer = _comparer;
src\Dependencies\Collections\SegmentedList`1.cs (2)
838public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1029public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
202public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 516internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
18private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 43public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
16private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 32public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ImmutableArrayExtensions.cs (1)
21public static bool Contains<T>(this ImmutableArray<T> items, T item, IEqualityComparer<T>? equalityComparer)
Microsoft.DotNet.AsmDiff (1)
DiffCSharpWriter.cs (1)
387.WithExport<IEqualityComparer<ITypeReference>>(settings.TypeComparer);
Microsoft.DotNet.NuGetRepack.Tests (8)
TestHelpers\AssertEx.cs (5)
25private static readonly IEqualityComparer<T> s_instance = new AssertEqualityComparer<T>(); 49bool IEqualityComparer<T>.Equals(T x, T y) 115int IEqualityComparer<T>.GetHashCode(T obj) 123public static void AreEqual<T>(T expected, T actual, string message = null, IEqualityComparer<T> comparer = null) 258public static void SetEqual<T>(IEnumerable<T> expected, IEnumerable<T> actual, IEqualityComparer<T> comparer = null, string message = null, string itemSeparator = "\r\n")
TestHelpers\DiffUtil.cs (3)
40private readonly IEqualityComparer<T> _comparer; 42public LCS(IEqualityComparer<T> comparer) 74public static string DiffReport<T>(IEnumerable<T> expected, IEnumerable<T> actual, string separator, IEqualityComparer<T> comparer = null, Func<T, string> toString = null)
Microsoft.DotNet.SignTool (4)
src\ByteSequenceComparer.cs (4)
78bool IEqualityComparer<byte[]>.Equals(byte[] x, byte[] y) 83int IEqualityComparer<byte[]>.GetHashCode(byte[] x) 88bool IEqualityComparer<ImmutableArray<byte>>.Equals(ImmutableArray<byte> x, ImmutableArray<byte> y) 93int IEqualityComparer<ImmutableArray<byte>>.GetHashCode(ImmutableArray<byte> x)
Microsoft.DotNet.XUnitAssert.Tests (11)
AsyncCollectionAssertsTests.cs (4)
332 var comparer = Substitute.For<IEqualityComparer<int>>(); 517 var comparer = Substitute.For<IEqualityComparer<int>>();
CollectionAssertsTests.cs (4)
350 var comparer = Substitute.For<IEqualityComparer<int>>(); 587 var comparer = Substitute.For<IEqualityComparer<int>>();
EqualityAssertsTests.cs (2)
66 Assert.Throws<ArgumentNullException>("comparer", () => Assert.Equal(1, 2, default(IEqualityComparer<int>)!)); 2350 Assert.Throws<ArgumentNullException>("comparer", () => Assert.NotEqual(1, 2, default(IEqualityComparer<int>)!));
Utility\ReadOnlySet.cs (1)
11 IEqualityComparer<T> comparer,
Microsoft.Extensions.AsyncState (6)
src\Shared\Pools\PooledDictionaryPolicy.cs (2)
17private readonly IEqualityComparer<TKey>? _comparer; 19public PooledDictionaryPolicy(IEqualityComparer<TKey>? comparer = null)
src\Shared\Pools\PooledSetPolicy.cs (2)
17private readonly IEqualityComparer<T>? _comparer; 19public PooledSetPolicy(IEqualityComparer<T>? comparer = null)
src\Shared\Pools\PoolFactory.cs (2)
133public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 152public static ObjectPool<HashSet<T>> CreateHashSetPool<T>(IEqualityComparer<T>? comparer = null, int maxCapacity = DefaultCapacity)
Microsoft.Extensions.Caching.Memory (1)
MemoryCache.cs (1)
750internal static IEqualityComparer<string> Instance => EqualityComparer<string>.Default;
Microsoft.Extensions.Compliance.Abstractions (6)
src\Shared\Pools\PooledDictionaryPolicy.cs (2)
17private readonly IEqualityComparer<TKey>? _comparer; 19public PooledDictionaryPolicy(IEqualityComparer<TKey>? comparer = null)
src\Shared\Pools\PooledSetPolicy.cs (2)
17private readonly IEqualityComparer<T>? _comparer; 19public PooledSetPolicy(IEqualityComparer<T>? comparer = null)
src\Shared\Pools\PoolFactory.cs (2)
133public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 152public static ObjectPool<HashSet<T>> CreateHashSetPool<T>(IEqualityComparer<T>? comparer = null, int maxCapacity = DefaultCapacity)
Microsoft.Extensions.DependencyModel (1)
HashCodeCombiner.cs (1)
50public void Add<TValue>(TValue? value, IEqualityComparer<TValue> comparer)
Microsoft.Extensions.Diagnostics.HealthChecks.Common (6)
src\Shared\Pools\PooledDictionaryPolicy.cs (2)
17private readonly IEqualityComparer<TKey>? _comparer; 19public PooledDictionaryPolicy(IEqualityComparer<TKey>? comparer = null)
src\Shared\Pools\PooledSetPolicy.cs (2)
17private readonly IEqualityComparer<T>? _comparer; 19public PooledSetPolicy(IEqualityComparer<T>? comparer = null)
src\Shared\Pools\PoolFactory.cs (2)
133public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 152public static ObjectPool<HashSet<T>> CreateHashSetPool<T>(IEqualityComparer<T>? comparer = null, int maxCapacity = DefaultCapacity)
Microsoft.Extensions.Diagnostics.ResourceMonitoring (6)
src\Shared\Pools\PooledDictionaryPolicy.cs (2)
17private readonly IEqualityComparer<TKey>? _comparer; 19public PooledDictionaryPolicy(IEqualityComparer<TKey>? comparer = null)
src\Shared\Pools\PooledSetPolicy.cs (2)
17private readonly IEqualityComparer<T>? _comparer; 19public PooledSetPolicy(IEqualityComparer<T>? comparer = null)
src\Shared\Pools\PoolFactory.cs (2)
133public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 152public static ObjectPool<HashSet<T>> CreateHashSetPool<T>(IEqualityComparer<T>? comparer = null, int maxCapacity = DefaultCapacity)
Microsoft.Extensions.Http.Resilience (7)
Internal\HttpKey.cs (1)
12public static readonly IEqualityComparer<HttpKey> BuilderComparer = new BuilderEqualityComparer();
src\Shared\Pools\PooledDictionaryPolicy.cs (2)
17private readonly IEqualityComparer<TKey>? _comparer; 19public PooledDictionaryPolicy(IEqualityComparer<TKey>? comparer = null)
src\Shared\Pools\PooledSetPolicy.cs (2)
17private readonly IEqualityComparer<T>? _comparer; 19public PooledSetPolicy(IEqualityComparer<T>? comparer = null)
src\Shared\Pools\PoolFactory.cs (2)
133public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 152public static ObjectPool<HashSet<T>> CreateHashSetPool<T>(IEqualityComparer<T>? comparer = null, int maxCapacity = DefaultCapacity)
Microsoft.Extensions.Logging.Generators (1)
src\libraries\Common\src\Roslyn\SyntaxValueProvider.ImmutableArrayValueComparer.cs (1)
15public static readonly IEqualityComparer<ImmutableArray<T>> Instance = new ImmutableArrayValueComparer<T>();
Microsoft.Extensions.Telemetry (6)
src\Shared\Pools\PooledDictionaryPolicy.cs (2)
17private readonly IEqualityComparer<TKey>? _comparer; 19public PooledDictionaryPolicy(IEqualityComparer<TKey>? comparer = null)
src\Shared\Pools\PooledSetPolicy.cs (2)
17private readonly IEqualityComparer<T>? _comparer; 19public PooledSetPolicy(IEqualityComparer<T>? comparer = null)
src\Shared\Pools\PoolFactory.cs (2)
133public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 152public static ObjectPool<HashSet<T>> CreateHashSetPool<T>(IEqualityComparer<T>? comparer = null, int maxCapacity = DefaultCapacity)
Microsoft.Extensions.Telemetry.Abstractions (6)
src\Shared\Pools\PooledDictionaryPolicy.cs (2)
17private readonly IEqualityComparer<TKey>? _comparer; 19public PooledDictionaryPolicy(IEqualityComparer<TKey>? comparer = null)
src\Shared\Pools\PooledSetPolicy.cs (2)
17private readonly IEqualityComparer<T>? _comparer; 19public PooledSetPolicy(IEqualityComparer<T>? comparer = null)
src\Shared\Pools\PoolFactory.cs (2)
133public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 152public static ObjectPool<HashSet<T>> CreateHashSetPool<T>(IEqualityComparer<T>? comparer = null, int maxCapacity = DefaultCapacity)
Microsoft.Interop.ComInterfaceGenerator (7)
Comparers.cs (7)
18public static readonly IEqualityComparer<(MemberDeclarationSyntax Syntax, ImmutableArray<DiagnosticInfo> Diagnostics)> GeneratedSyntax = new CustomValueTupleElementComparer<MemberDeclarationSyntax, ImmutableArray<DiagnosticInfo>>(SyntaxEquivalentComparer.Instance, new ImmutableArraySequenceEqualComparer<DiagnosticInfo>(EqualityComparer<DiagnosticInfo>.Default)); 27private readonly IEqualityComparer<T> _elementComparer; 33public ImmutableArraySequenceEqualComparer(IEqualityComparer<T> elementComparer) 51private readonly IEqualityComparer<T> _item1Comparer; 52private readonly IEqualityComparer<U> _item2Comparer; 54public CustomValueTupleElementComparer(IEqualityComparer<T> item1Comparer, IEqualityComparer<U> item2Comparer)
Microsoft.Interop.JavaScript.JSImportGenerator (16)
Comparers.cs (16)
18public static readonly IEqualityComparer<(MemberDeclarationSyntax Syntax, ImmutableArray<DiagnosticInfo> Diagnostics)> GeneratedSyntax = new CustomValueTupleElementComparer<MemberDeclarationSyntax, ImmutableArray<DiagnosticInfo>>(SyntaxEquivalentComparer.Instance, new ImmutableArraySequenceEqualComparer<DiagnosticInfo>(EqualityComparer<DiagnosticInfo>.Default)); 19public static readonly IEqualityComparer<(MemberDeclarationSyntax, StatementSyntax, AttributeListSyntax, ImmutableArray<DiagnosticInfo>)> GeneratedSyntax4 = 31private readonly IEqualityComparer<T> _elementComparer; 37public ImmutableArraySequenceEqualComparer(IEqualityComparer<T> elementComparer) 55private readonly IEqualityComparer<T> _item1Comparer; 56private readonly IEqualityComparer<U> _item2Comparer; 58public CustomValueTupleElementComparer(IEqualityComparer<T> item1Comparer, IEqualityComparer<U> item2Comparer) 77private readonly IEqualityComparer<T> _item1Comparer; 78private readonly IEqualityComparer<U> _item2Comparer; 79private readonly IEqualityComparer<V> _item3Comparer; 80private readonly IEqualityComparer<W> _item4Comparer; 82public CustomValueTupleElementComparer(IEqualityComparer<T> item1Comparer, IEqualityComparer<U> item2Comparer, IEqualityComparer<V> item3Comparer, IEqualityComparer<W> item4Comparer)
Microsoft.Interop.LibraryImportGenerator (7)
Comparers.cs (7)
18public static readonly IEqualityComparer<(MemberDeclarationSyntax Syntax, ImmutableArray<DiagnosticInfo> Diagnostics)> GeneratedSyntax = new CustomValueTupleElementComparer<MemberDeclarationSyntax, ImmutableArray<DiagnosticInfo>>(SyntaxEquivalentComparer.Instance, new ImmutableArraySequenceEqualComparer<DiagnosticInfo>(EqualityComparer<DiagnosticInfo>.Default)); 27private readonly IEqualityComparer<T> _elementComparer; 33public ImmutableArraySequenceEqualComparer(IEqualityComparer<T> elementComparer) 51private readonly IEqualityComparer<T> _item1Comparer; 52private readonly IEqualityComparer<U> _item2Comparer; 54public CustomValueTupleElementComparer(IEqualityComparer<T> item1Comparer, IEqualityComparer<U> item2Comparer)
Microsoft.Interop.LibraryImportGenerator.Downlevel (7)
Comparers.cs (7)
18public static readonly IEqualityComparer<(MemberDeclarationSyntax Syntax, ImmutableArray<DiagnosticInfo> Diagnostics)> GeneratedSyntax = new CustomValueTupleElementComparer<MemberDeclarationSyntax, ImmutableArray<DiagnosticInfo>>(SyntaxEquivalentComparer.Instance, new ImmutableArraySequenceEqualComparer<DiagnosticInfo>(EqualityComparer<DiagnosticInfo>.Default)); 27private readonly IEqualityComparer<T> _elementComparer; 33public ImmutableArraySequenceEqualComparer(IEqualityComparer<T> elementComparer) 51private readonly IEqualityComparer<T> _item1Comparer; 52private readonly IEqualityComparer<U> _item2Comparer; 54public CustomValueTupleElementComparer(IEqualityComparer<T> item1Comparer, IEqualityComparer<U> item2Comparer)
Microsoft.Interop.SourceGeneration (3)
SequenceEqualImmutableArray.cs (2)
18public readonly record struct SequenceEqualImmutableArray<T>(ImmutableArray<T> Array, IEqualityComparer<T> Comparer) : IEnumerable<T> 49public static SequenceEqualImmutableArray<T> ToSequenceEqualImmutableArray<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer)
SignatureContext.cs (1)
141&& AdditionalAttributes.SequenceEqual(other.AdditionalAttributes, (IEqualityComparer<AttributeListSyntax>)SyntaxEquivalentComparer.Instance);
Microsoft.Maui.Controls (4)
OrderedDictionary.cs (4)
57 public OrderedDictionary(IEqualityComparer<TKey> equalityComparer) : this(0, equalityComparer) 61 public OrderedDictionary(int capacity, IEqualityComparer<TKey> equalityComparer) 74 public OrderedDictionary(ICollection<KeyValuePair<TKey, TValue>> dictionary, IEqualityComparer<TKey> equalityComparer) : this(dictionary != null ? dictionary.Count : 0, equalityComparer) 86 public IEqualityComparer<TKey> Comparer
Microsoft.Maui.Controls.BindingSourceGen (2)
HashCode.cs (2)
21 public void Add<T>(T value, IEqualityComparer<T> comparer) 139 private static int Hash<T>(int hashCode, T value, IEqualityComparer<T> comparer)
Microsoft.ML.Data (10)
Transforms\Hashing.cs (6)
1554private readonly IEqualityComparer<T> _tComparer; 1556public KeyValueComparer(IEqualityComparer<T> tComparer) 1572private IEqualityComparer<T> GetSimpleComparer<T>() 1583return c as IEqualityComparer<T>; 1610protected virtual IEqualityComparer<T> GetComparer() 1711protected override IEqualityComparer<KeyValuePair<int, T>> GetComparer()
Transforms\InvertHashUtils.cs (4)
127private readonly IEqualityComparer<T> _tComparer; 129public PairEqualityComparer(IEqualityComparer<T> tComparer) 154private readonly IEqualityComparer<Pair> _comparer; 171IEqualityComparer<T> comparer, ValueMapper<T, T> copier = null)
Microsoft.Net.Http.Headers (1)
HeaderUtilities.cs (1)
89internal static bool AreEqualCollections<T>(ICollection<T>? x, ICollection<T>? y, IEqualityComparer<T>? comparer)
MSBuild (10)
AssemblyNameComparer.cs (4)
31internal static readonly IEqualityComparer<AssemblyNameExtension> GenericComparer = Comparer as IEqualityComparer<AssemblyNameExtension>; 36internal static readonly IEqualityComparer<AssemblyNameExtension> GenericComparerConsiderRetargetable = ComparerConsiderRetargetable as IEqualityComparer<AssemblyNameExtension>;
CopyOnWriteDictionary.cs (5)
65internal CopyOnWriteDictionary(IEqualityComparer<string>? keyComparer) 78object comparer = info.GetValue(nameof(Comparer), typeof(IEqualityComparer<string>))!; 80var b = GetInitialDictionary((IEqualityComparer<string>?)comparer); 85private static ImmutableDictionary<string, V> GetInitialDictionary(IEqualityComparer<string>? keyComparer) 169internal IEqualityComparer<string> Comparer
TranslatorHelpers.cs (1)
86IEqualityComparer<string> comparer,
MSBuildTaskHost (26)
AssemblyNameComparer.cs (4)
31internal static readonly IEqualityComparer<AssemblyNameExtension> GenericComparer = Comparer as IEqualityComparer<AssemblyNameExtension>; 36internal static readonly IEqualityComparer<AssemblyNameExtension> GenericComparerConsiderRetargetable = ComparerConsiderRetargetable as IEqualityComparer<AssemblyNameExtension>;
BinaryTranslator.cs (6)
590public void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer) 612public void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer, ref Dictionary<string, string> additionalEntries, HashSet<string> additionalEntriesKeys) 699public void TranslateDictionary<T>(ref Dictionary<string, T> dictionary, IEqualityComparer<string> comparer, ObjectTranslator<T> objectTranslator) 1317public void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer) 1334public void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer, ref Dictionary<string, string> additionalEntries, HashSet<string> additionalEntriesKeys) 1438public void TranslateDictionary<T>(ref Dictionary<string, T> dictionary, IEqualityComparer<string> comparer, ObjectTranslator<T> objectTranslator)
Concurrent\ConcurrentDictionary.cs (2)
38private IEqualityComparer<TKey> _comparer; // Key equality comparer 99public ConcurrentDictionary(IEqualityComparer<TKey> comparer = null)
CopyOnWriteDictionary.cs (5)
65internal CopyOnWriteDictionary(IEqualityComparer<string>? keyComparer) 78object comparer = info.GetValue(nameof(Comparer), typeof(IEqualityComparer<string>))!; 80var b = GetInitialDictionary((IEqualityComparer<string>?)comparer); 85private static ImmutableDictionary<string, V> GetInitialDictionary(IEqualityComparer<string>? keyComparer) 169internal IEqualityComparer<string> Comparer
Immutable\ImmutableDictionary.cs (5)
21internal static ImmutableDictionary<K, V> Create<K, V>(IEqualityComparer<K> comparer) 177internal ImmutableDictionary(IEqualityComparer<K> comparer) 182internal ImmutableDictionary(IDictionary<K, V> source, IEqualityComparer<K> keyComparer = null) 202public IEqualityComparer<K> KeyComparer { get => _backing.Comparer; internal set => throw new NotSupportedException(); } 221internal ImmutableDictionary<K, V> WithComparers(IEqualityComparer<K> keyComparer)
ITranslator.cs (3)
320void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer); 333void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer, ref Dictionary<string, string> additionalEntries, HashSet<string> additionalEntriesKeys); 348void TranslateDictionary<T>(ref Dictionary<string, T> dictionary, IEqualityComparer<string> comparer, ObjectTranslator<T> objectTranslator)
TranslatorHelpers.cs (1)
86IEqualityComparer<string> comparer,
mscorlib (1)
src\libraries\shims\mscorlib\ref\mscorlib.cs (1)
95[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Collections.Generic.IEqualityComparer<>))]
netstandard (1)
netstandard.cs (1)
117[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Collections.Generic.IEqualityComparer<>))]
PresentationCore (4)
System\Windows\Media\SolidColorBrush.cs (4)
240public TwoWayDictionary(IEqualityComparer<TKey> keyComparer): this (keyComparer, null) 245public TwoWayDictionary(IEqualityComparer<TValue> valueComparer) : this (null, valueComparer) 250public TwoWayDictionary(IEqualityComparer<TKey> keyComparer, IEqualityComparer<TValue> valueComparer)
PresentationFramework (6)
MS\Internal\Data\CommitManager.cs (1)
163public Set(IEqualityComparer<T> comparer)
System\Windows\Controls\Primitives\Selector.cs (5)
2666internal InternalSelectedItemsStorage(int capacity, IEqualityComparer<ItemInfo> equalityComparer) 2673internal InternalSelectedItemsStorage(InternalSelectedItemsStorage collection, IEqualityComparer<ItemInfo> equalityComparer=null) 2899private IEqualityComparer<ItemInfo> _equalityComparer; 2951bool IEqualityComparer<ItemInfo>.Equals(ItemInfo x, ItemInfo y) 2958int IEqualityComparer<ItemInfo>.GetHashCode(ItemInfo x)
Shared (6)
Pools\PooledDictionaryPolicy.cs (2)
17private readonly IEqualityComparer<TKey>? _comparer; 19public PooledDictionaryPolicy(IEqualityComparer<TKey>? comparer = null)
Pools\PooledSetPolicy.cs (2)
17private readonly IEqualityComparer<T>? _comparer; 19public PooledSetPolicy(IEqualityComparer<T>? comparer = null)
Pools\PoolFactory.cs (2)
133public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 152public static ObjectPool<HashSet<T>> CreateHashSetPool<T>(IEqualityComparer<T>? comparer = null, int maxCapacity = DefaultCapacity)
System.Collections (32)
System\Collections\Generic\OrderedDictionary.cs (22)
40private IEqualityComparer<TKey>? _comparer; 81/// has the default initial capacity, and uses the specified <see cref="IEqualityComparer{TKey}"/>. 84/// The <see cref="IEqualityComparer{TKey}"/> implementation to use when comparing keys, 87public OrderedDictionary(IEqualityComparer<TKey>? comparer) : this(0, comparer) 93/// has the specified initial capacity, and uses the specified <see cref="IEqualityComparer{TKey}"/>. 97/// The <see cref="IEqualityComparer{TKey}"/> implementation to use when comparing keys, 101public OrderedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 127NonRandomizedStringEqualityComparer.GetStringComparer(_comparer) is IEqualityComparer<string> stringComparer) 129_comparer = (IEqualityComparer<TKey>)stringComparer; 155/// the specified <see cref="IDictionary{TKey, TValue}"/> and uses the specified <see cref="IEqualityComparer{TKey}"/>. 162/// The <see cref="IEqualityComparer{TKey}"/> implementation to use when comparing keys, 166public OrderedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) : 189/// from the specified <see cref="IEnumerable{T}"/> and uses the specified <see cref="IEqualityComparer{TKey}"/>. 196/// The <see cref="IEqualityComparer{TKey}"/> implementation to use when comparing keys, 200public OrderedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) : 220/// <summary>Gets the <see cref="IEqualityComparer{TKey}"/> that is used to determine equality of keys for the dictionary.</summary> 221public IEqualityComparer<TKey> Comparer 225IEqualityComparer<TKey>? comparer = _comparer; 231(comparer as NonRandomizedStringEqualityComparer)?.GetUnderlyingEqualityComparer() is IEqualityComparer<TKey> ec) 625IEqualityComparer<TKey>? comparer = _comparer; 1105IEqualityComparer<TKey> comparer = _comparer = (IEqualityComparer<TKey>)((NonRandomizedStringEqualityComparer)_comparer).GetUnderlyingEqualityComparer();
System\Collections\Generic\PriorityQueue.cs (2)
523IEqualityComparer<TElement>? equalityComparer = null) 882private int FindIndex(TElement element, IEqualityComparer<TElement>? equalityComparer)
System\Collections\Generic\SortedSet.cs (5)
773/// Returns an <see cref="IEqualityComparer{T}"/> object that can be used to create a collection that contains individual sets. 775public static IEqualityComparer<SortedSet<T>> CreateSetComparer() => CreateSetComparer(memberEqualityComparer: null); 778/// Returns an <see cref="IEqualityComparer{T}"/> object, according to a specified comparer, that can be used to create a collection that contains individual sets. 780public static IEqualityComparer<SortedSet<T>> CreateSetComparer(IEqualityComparer<T>? memberEqualityComparer)
System\Collections\Generic\SortedSetEqualityComparer.cs (3)
14private readonly IEqualityComparer<T> _memberEqualityComparer; 16public SortedSetEqualityComparer(IEqualityComparer<T>? memberEqualityComparer) 24private SortedSetEqualityComparer(IComparer<T>? comparer, IEqualityComparer<T>? memberEqualityComparer)
System.Collections.Concurrent (39)
System\Collections\Concurrent\ConcurrentDictionary.cs (39)
104/// <see cref="IEqualityComparer{TKey}"/>. 106/// <param name="comparer">The <see cref="IEqualityComparer{TKey}"/> implementation to use when comparing keys.</param> 107public ConcurrentDictionary(IEqualityComparer<TKey>? comparer) 113/// level, has the default initial capacity, and uses the specified <see cref="IEqualityComparer{TKey}"/>. 116/// <param name="comparer">The <see cref="IEqualityComparer{TKey}"/> implementation to use when comparing keys.</param> 118public ConcurrentDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 130/// <see cref="IEqualityComparer{TKey}"/>. 137/// <param name="comparer">The <see cref="IEqualityComparer{TKey}"/> implementation to use when comparing keys.</param> 141public ConcurrentDictionary(int concurrencyLevel, IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 152/// uses the specified <see cref="IEqualityComparer{TKey}"/>. 156/// <param name="comparer">The <see cref="IEqualityComparer{TKey}"/> implementation to use when comparing keys.</param> 158public ConcurrentDictionary(int concurrencyLevel, int capacity, IEqualityComparer<TKey>? comparer) 163internal ConcurrentDictionary(int concurrencyLevel, int capacity, bool growLockArray, IEqualityComparer<TKey>? comparer) 216NonRandomizedStringEqualityComparer.GetStringComparer(comparer) is IEqualityComparer<string> stringComparer) 218comparer = (IEqualityComparer<TKey>)stringComparer; 301private int GetHashCode(IEqualityComparer<TKey>? comparer, TKey key) 321private static bool NodeEqualsKey(IEqualityComparer<TKey>? comparer, Node node, TKey key) 444IEqualityComparer<TKey>? comparer = tables._comparer; 526IEqualityComparer<TKey>? comparer = tables._comparer; 560IEqualityComparer<TKey>? comparer = tables._comparer; 635IEqualityComparer<TKey>? comparer = tables._comparer; 948IEqualityComparer<TKey>? comparer = tables._comparer; 1118/// Gets the <see cref="IEqualityComparer{TKey}" /> 1122/// The <see cref="IEqualityComparer{TKey}" /> generic interface implementation 1128/// whether keys are equal. You can specify an implementation of the <see cref="IEqualityComparer{TKey}" /> 1132public IEqualityComparer<TKey> Comparer 1136IEqualityComparer<TKey>? comparer = _tables._comparer; 1140if ((comparer as NonRandomizedStringEqualityComparer)?.GetUnderlyingEqualityComparer() is IEqualityComparer<string> ec) 1142return (IEqualityComparer<TKey>)ec; 1221IEqualityComparer<TKey>? comparer = tables._comparer; 1263IEqualityComparer<TKey>? comparer = tables._comparer; 1295IEqualityComparer<TKey>? comparer = tables._comparer; 1347IEqualityComparer<TKey>? comparer = tables._comparer; 1420IEqualityComparer<TKey>? comparer = tables._comparer; 1486IEqualityComparer<TKey>? comparer = tables._comparer; 1985IEqualityComparer<TKey>? upgradeComparer = null; 1988upgradeComparer = (IEqualityComparer<TKey>)nrsec.GetUnderlyingEqualityComparer(); 2291internal readonly IEqualityComparer<TKey>? _comparer; 2301internal Tables(VolatileNode[] buckets, object[] locks, int[] countPerLock, IEqualityComparer<TKey>? comparer)
System.Collections.Immutable (218)
System\Collections\Frozen\DefaultFrozenDictionary.cs (1)
23IEqualityComparer<TKey> comparer = Comparer;
System\Collections\Frozen\DefaultFrozenSet.cs (2)
20IEqualityComparer<T> comparer = Comparer; 47public IEqualityComparer<T> Comparer => _set.Comparer;
System\Collections\Frozen\EmptyFrozenDictionary.cs (1)
14internal EmptyFrozenDictionary(IEqualityComparer<TKey> comparer) : base(comparer) { }
System\Collections\Frozen\EmptyFrozenSet.cs (1)
12internal EmptyFrozenSet(IEqualityComparer<T> comparer) : base(comparer) { }
System\Collections\Frozen\FrozenDictionary.cs (11)
29public static FrozenDictionary<TKey, TValue> ToFrozenDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> source, IEqualityComparer<TKey>? comparer = null) 39/// <param name="comparer">An <see cref="IEqualityComparer{TKey}"/> to compare keys.</param> 42this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer = null) 53/// <param name="comparer">An <see cref="IEqualityComparer{TKey}"/> to compare keys.</param> 56this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey>? comparer = null) 71IEnumerable<KeyValuePair<TKey, TValue>> source, IEqualityComparer<TKey>? comparer, 118IEqualityComparer<TKey> comparer = source.Comparer; 163IEqualityComparer<string> stringComparer = (IEqualityComparer<string>)(object)comparer; 269private protected FrozenDictionary(IEqualityComparer<TKey> comparer) => Comparer = comparer; 275public IEqualityComparer<TKey> Comparer { get; }
System\Collections\Frozen\FrozenSet.cs (8)
29public static FrozenSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params ReadOnlySpan<T> source) 57public static FrozenSet<T> ToFrozenSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer = null) => 62private static FrozenSet<T>? GetExistingFrozenOrNewSet<T>(IEnumerable<T> source, IEqualityComparer<T>? comparer, out HashSet<T>? newSet) 99IEqualityComparer<T> comparer = source.Comparer; 138IEqualityComparer<string> stringComparer = (IEqualityComparer<string>)(object)comparer; 248private protected FrozenSet(IEqualityComparer<T> comparer) => Comparer = comparer; 254public IEqualityComparer<T> Comparer { get; }
System\Collections\Frozen\FrozenSetInternalBase.cs (2)
24protected FrozenSetInternalBase(IEqualityComparer<T> comparer) : base(comparer) 277IEqualityComparer<T> Comparer { get; }
System\Collections\Frozen\Int32\Int32FrozenSet.cs (1)
67public IEqualityComparer<int> Comparer => _set.Comparer;
System\Collections\Frozen\SmallFrozenDictionary.cs (1)
39IEqualityComparer<TKey> comparer = Comparer;
System\Collections\Frozen\SmallFrozenSet.cs (1)
49public IEqualityComparer<T> Comparer => _set.Comparer;
System\Collections\Frozen\SmallValueTypeComparableFrozenSet.cs (1)
71public IEqualityComparer<T> Comparer => _set.Comparer;
System\Collections\Frozen\SmallValueTypeDefaultComparerFrozenSet.cs (1)
51public IEqualityComparer<T> Comparer => _set.Comparer;
System\Collections\Frozen\String\LengthBuckets.cs (1)
17internal static int[]? CreateLengthBucketsArrayIfAppropriate(string[] keys, IEqualityComparer<string> comparer, int minLength, int maxLength)
System\Collections\Frozen\String\LengthBucketsFrozenDictionary.cs (2)
20string[] keys, TValue[] values, int[] lengthBuckets, int minLength, IEqualityComparer<string> comparer) 33string[] keys, TValue[] values, IEqualityComparer<string> comparer, int minLength, int maxLength)
System\Collections\Frozen\String\LengthBucketsFrozenSet.cs (3)
18string[] items, int[] lengthBuckets, int minLength, IEqualityComparer<string> comparer) 30string[] items, IEqualityComparer<string> comparer, int minLength, int maxLength) 115public IEqualityComparer<string> Comparer => _set.Comparer;
System\Collections\Frozen\String\OrdinalStringFrozenDictionary.cs (1)
23IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenDictionary_Full.cs (1)
15IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenDictionary_FullCaseInsensitive.cs (1)
15IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenDictionary_FullCaseInsensitiveAscii.cs (1)
15IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenDictionary_LeftJustifiedCaseInsensitiveAsciiSubstring.cs (1)
13IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenDictionary_LeftJustifiedCaseInsensitiveSubstring.cs (1)
13IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenDictionary_LeftJustifiedSingleChar.cs (1)
13IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenDictionary_LeftJustifiedSubstring.cs (1)
13IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenDictionary_RightJustifiedCaseInsensitiveAsciiSubstring.cs (1)
13IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenDictionary_RightJustifiedCaseInsensitiveSubstring.cs (1)
13IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenDictionary_RightJustifiedSingleChar.cs (1)
13IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenDictionary_RightJustifiedSubstring.cs (1)
13IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenSet.cs (2)
20IEqualityComparer<string> comparer, 117public IEqualityComparer<string> Comparer => _set.Comparer;
System\Collections\Frozen\String\OrdinalStringFrozenSet_Full.cs (1)
14IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenSet_FullCaseInsensitive.cs (1)
14IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenSet_FullCaseInsensitiveAscii.cs (1)
14IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenSet_LeftJustifiedCaseInsensitiveAsciiSubstring.cs (1)
12IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenSet_LeftJustifiedCaseInsensitiveSubstring.cs (1)
12IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenSet_LeftJustifiedSingleChar.cs (1)
12IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenSet_LeftJustifiedSubstring.cs (1)
12IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenSet_RightJustifiedCaseInsensitiveAsciiSubstring.cs (1)
12IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenSet_RightJustifiedCaseInsensitiveSubstring.cs (1)
12IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenSet_RightJustifiedSingleChar.cs (1)
12IEqualityComparer<string> comparer,
System\Collections\Frozen\String\OrdinalStringFrozenSet_RightJustifiedSubstring.cs (1)
12IEqualityComparer<string> comparer,
System\Collections\Frozen\ValueTypeDefaultComparerFrozenSet.cs (1)
47public IEqualityComparer<T> Comparer => _set.Comparer;
System\Collections\Immutable\IImmutableList.cs (5)
50int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer); 73int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer); 114IImmutableList<T> Remove(T value, IEqualityComparer<T>? equalityComparer); 140IImmutableList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer); 178IImmutableList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer);
System\Collections\Immutable\ImmutableArray_1.Builder.cs (6)
520public bool Remove(T element, IEqualityComparer<T>? equalityComparer) 622public void RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 658public void Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 792public int IndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer) 831public int IndexOf(T item, int startIndex, IEqualityComparer<T>? equalityComparer) 889public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
System\Collections\Immutable\ImmutableArray_1.cs (13)
125public int IndexOf(T item, int startIndex, IEqualityComparer<T>? equalityComparer) 166public int IndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer) 251public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer) 302public bool Contains(T item, IEqualityComparer<T>? equalityComparer) 589public ImmutableArray<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 622public ImmutableArray<T> Remove(T item, IEqualityComparer<T>? equalityComparer) 689public ImmutableArray<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 730public ImmutableArray<T> RemoveRange(ImmutableArray<T> items, IEqualityComparer<T>? equalityComparer) 980public ImmutableArray<T> RemoveRange(ReadOnlySpan<T> items, IEqualityComparer<T>? equalityComparer = null) 1018public ImmutableArray<T> RemoveRange(T[] items, IEqualityComparer<T>? equalityComparer = null) 1121IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 1141IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 1181IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
System\Collections\Immutable\ImmutableDictionary.cs (16)
35public static ImmutableDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) where TKey : notnull 50public static ImmutableDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer) where TKey : notnull 75public static ImmutableDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) where TKey : notnull 89public static ImmutableDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) where TKey : notnull 112public static ImmutableDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) where TKey : notnull 125public static ImmutableDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer) where TKey : notnull 142public static ImmutableDictionary<TKey, TValue> ToImmutableDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer) where TKey : notnull 175public static ImmutableDictionary<TKey, TValue> ToImmutableDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) where TKey : notnull 202public static ImmutableDictionary<TKey, TSource> ToImmutableDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer) where TKey : notnull 231public static ImmutableDictionary<TKey, TValue> ToImmutableDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> source, IEqualityComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer) where TKey : notnull 251public static ImmutableDictionary<TKey, TValue> ToImmutableDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> source, IEqualityComparer<TKey>? keyComparer) where TKey : notnull
System\Collections\Immutable\ImmutableDictionary_2.Builder.cs (2)
83public IEqualityComparer<TKey> KeyComparer 113public IEqualityComparer<TValue> ValueComparer
System\Collections\Immutable\ImmutableDictionary_2.Comparers.cs (13)
31private readonly IEqualityComparer<TKey> _keyComparer; 36private readonly IEqualityComparer<TValue> _valueComparer; 43internal Comparers(IEqualityComparer<TKey> keyComparer, IEqualityComparer<TValue> valueComparer) 58internal IEqualityComparer<TKey> KeyComparer 69internal IEqualityComparer<KeyValuePair<TKey, TValue>> KeyOnlyComparer 80internal IEqualityComparer<TValue> ValueComparer 88internal IEqualityComparer<HashBucket> HashBucketEqualityComparer 128bool IEqualityComparer<KeyValuePair<TKey, TValue>>.Equals(KeyValuePair<TKey, TValue> x, KeyValuePair<TKey, TValue> y) 140int IEqualityComparer<KeyValuePair<TKey, TValue>>.GetHashCode(KeyValuePair<TKey, TValue> obj) 151internal static Comparers Get(IEqualityComparer<TKey> keyComparer, IEqualityComparer<TValue> valueComparer) 167internal Comparers WithValueComparer(IEqualityComparer<TValue> valueComparer)
System\Collections\Immutable\ImmutableDictionary_2.cs (8)
150public IEqualityComparer<TKey> KeyComparer 158public IEqualityComparer<TValue> ValueComparer 425public ImmutableDictionary<TKey, TValue> WithComparers(IEqualityComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer) 457public ImmutableDictionary<TKey, TValue> WithComparers(IEqualityComparer<TKey>? keyComparer) 993private static SortedInt32KeyNode<HashBucket> UpdateRoot(SortedInt32KeyNode<HashBucket> root, int hashCode, HashBucket newBucket, IEqualityComparer<HashBucket> hashBucketComparer) 1049/// <param name="avoidToHashMap"><c>true</c> when being called from <see cref="WithComparers(IEqualityComparer{TKey}, IEqualityComparer{TValue})"/> to avoid a stack overflow.</param>
System\Collections\Immutable\ImmutableDictionary_2.HashBucket.cs (3)
140internal HashBucket Add(TKey key, TValue value, IEqualityComparer<KeyValuePair<TKey, TValue>> keyOnlyComparer, IEqualityComparer<TValue> valueComparer, KeyCollisionBehavior behavior, out OperationResult result) 214internal HashBucket Remove(TKey key, IEqualityComparer<KeyValuePair<TKey, TValue>> keyOnlyComparer, out OperationResult result)
System\Collections\Immutable\ImmutableDictionary_2.MutationInput.cs (4)
72internal IEqualityComparer<TKey> KeyComparer 80internal IEqualityComparer<KeyValuePair<TKey, TValue>> KeyOnlyComparer 88internal IEqualityComparer<TValue> ValueComparer 96internal IEqualityComparer<HashBucket> HashBucketComparer
System\Collections\Immutable\ImmutableHashSet.cs (7)
31public static ImmutableHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 54public static ImmutableHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 77public static ImmutableHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 113public static ImmutableHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 127public static ImmutableHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params ReadOnlySpan<T> items) 150public static ImmutableHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 162public static ImmutableHashSet<TSource> ToImmutableHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
System\Collections\Immutable\ImmutableHashSet_1.Builder.cs (3)
40private IEqualityComparer<T> _equalityComparer; 45private readonly IEqualityComparer<HashBucket> _hashBucketEqualityComparer; 105public IEqualityComparer<T> KeyComparer
System\Collections\Immutable\ImmutableHashSet_1.cs (13)
37private readonly IEqualityComparer<T> _equalityComparer; 52private readonly IEqualityComparer<HashBucket> _hashBucketEqualityComparer; 58internal ImmutableHashSet(IEqualityComparer<T> equalityComparer) 69private ImmutableHashSet(SortedInt32KeyNode<HashBucket> root, IEqualityComparer<T> equalityComparer, int count) 108public IEqualityComparer<T> KeyComparer 416public ImmutableHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer) 765private static SortedInt32KeyNode<HashBucket> UpdateRoot(SortedInt32KeyNode<HashBucket> root, int hashCode, IEqualityComparer<HashBucket> hashBucketEqualityComparer, HashBucket newBucket) 802private static MutationResult Except(IEnumerable<T> other, IEqualityComparer<T> equalityComparer, IEqualityComparer<HashBucket> hashBucketEqualityComparer, SortedInt32KeyNode<HashBucket> root) 978private static ImmutableHashSet<T> Wrap(SortedInt32KeyNode<HashBucket> root, IEqualityComparer<T> equalityComparer, int count) 987/// Gets the <see cref="IEqualityComparer{HashBucket}"/> to use. 991private static IEqualityComparer<HashBucket> GetHashBucketEqualityComparer(IEqualityComparer<T> valueComparer)
System\Collections\Immutable\ImmutableHashSet_1.HashBucket.cs (5)
118internal bool EqualsByValue(HashBucket other, IEqualityComparer<T> valueComparer) 131internal HashBucket Add(T value, IEqualityComparer<T> valueComparer, out OperationResult result) 154internal bool Contains(T value, IEqualityComparer<T> valueComparer) 173internal bool TryExchange(T value, IEqualityComparer<T> valueComparer, out T existingValue) 202internal HashBucket Remove(T value, IEqualityComparer<T> equalityComparer, out OperationResult result)
System\Collections\Immutable\ImmutableHashSet_1.HashBucketByRefEqualityComparer.cs (2)
22private static readonly IEqualityComparer<HashBucket> s_defaultInstance = new HashBucketByRefEqualityComparer(); 27internal static IEqualityComparer<HashBucket> DefaultInstance => s_defaultInstance;
System\Collections\Immutable\ImmutableHashSet_1.HashBucketByValueEqualityComparer.cs (4)
22private static readonly IEqualityComparer<HashBucket> s_defaultInstance = new HashBucketByValueEqualityComparer(EqualityComparer<T>.Default); 28internal static IEqualityComparer<HashBucket> DefaultInstance => s_defaultInstance; 33private readonly IEqualityComparer<T> _valueComparer; 39internal HashBucketByValueEqualityComparer(IEqualityComparer<T> valueComparer)
System\Collections\Immutable\ImmutableHashSet_1.MutationInput.cs (6)
27private readonly IEqualityComparer<T> _equalityComparer; 37private readonly IEqualityComparer<HashBucket> _hashBucketEqualityComparer; 59internal MutationInput(SortedInt32KeyNode<HashBucket> root, IEqualityComparer<T> equalityComparer, IEqualityComparer<HashBucket> hashBucketEqualityComparer, int count) 83internal IEqualityComparer<T> EqualityComparer 99internal IEqualityComparer<HashBucket> HashBucketEqualityComparer => _hashBucketEqualityComparer;
System\Collections\Immutable\ImmutableList.cs (2)
167public static int IndexOf<T>(this IImmutableList<T> list, T item, IEqualityComparer<T>? equalityComparer) 266public static int LastIndexOf<T>(this IImmutableList<T> list, T item, IEqualityComparer<T>? equalityComparer)
System\Collections\Immutable\ImmutableList_1.Builder.cs (5)
573public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) => 665public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer) => 751public bool Remove(T item, IEqualityComparer<T>? equalityComparer) 788public void RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 832public void Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
System\Collections\Immutable\ImmutableList_1.cs (8)
286public ImmutableList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 333public ImmutableList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 399public ImmutableList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 757public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) => _root.IndexOf(item, index, count, equalityComparer); 779public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) => _root.LastIndexOf(item, index, count, equalityComparer); 842IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) => this.Remove(value, equalityComparer); 852IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) => this.RemoveRange(items, equalityComparer); 885IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) => this.Replace(oldValue, newValue, equalityComparer);
System\Collections\Immutable\ImmutableList_1.Node.cs (5)
718internal int IndexOf(T item, IEqualityComparer<T>? equalityComparer) => this.IndexOf(item, 0, this.Count, equalityComparer); 733internal bool Contains(T item, IEqualityComparer<T> equalityComparer) => Contains(this, item, equalityComparer); 760internal int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 802internal int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 1586private static bool Contains(Node node, T value, IEqualityComparer<T> equalityComparer) => !node.IsEmpty && (equalityComparer.Equals(value, node._key) || Contains(node._left!, value, equalityComparer) || Contains(node._right!, value, equalityComparer));
System\Collections\Immutable\ImmutableSortedDictionary.cs (5)
46public static ImmutableSortedDictionary<TKey, TValue> Create<TKey, TValue>(IComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer) where TKey : notnull 85public static ImmutableSortedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) where TKey : notnull 121public static ImmutableSortedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer) where TKey : notnull 138public static ImmutableSortedDictionary<TKey, TValue> ToImmutableSortedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer) where TKey : notnull 200public static ImmutableSortedDictionary<TKey, TValue> ToImmutableSortedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> source, IComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer) where TKey : notnull
System\Collections\Immutable\ImmutableSortedDictionary_2.Builder.cs (2)
44private IEqualityComparer<TValue> _valueComparer = EqualityComparer<TValue>.Default; 331public IEqualityComparer<TValue> ValueComparer
System\Collections\Immutable\ImmutableSortedDictionary_2.cs (7)
44private readonly IEqualityComparer<TValue> _valueComparer; 51internal ImmutableSortedDictionary(IComparer<TKey>? keyComparer = null, IEqualityComparer<TValue>? valueComparer = null) 65private ImmutableSortedDictionary(Node root, int count, IComparer<TKey> keyComparer, IEqualityComparer<TValue> valueComparer) 92public IEqualityComparer<TValue> ValueComparer 321public ImmutableSortedDictionary<TKey, TValue> WithComparers(IComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer) 739private static ImmutableSortedDictionary<TKey, TValue> Wrap(Node root, int count, IComparer<TKey> keyComparer, IEqualityComparer<TValue> valueComparer) 775/// <param name="avoidToSortedMap"><c>true</c> when being called from <see cref="WithComparers(IComparer{TKey}, IEqualityComparer{TValue})"/> to avoid a stack overflow.</param>
System\Collections\Immutable\ImmutableSortedDictionary_2.Node.cs (5)
247internal Node Add(TKey key, TValue value, IComparer<TKey> keyComparer, IEqualityComparer<TValue> valueComparer, out bool mutated) 265internal Node SetItem(TKey key, TValue value, IComparer<TKey> keyComparer, IEqualityComparer<TValue> valueComparer, out bool replacedExistingValue, out bool mutated) 391internal bool ContainsValue(TValue value, IEqualityComparer<TValue> valueComparer) 413internal bool Contains(KeyValuePair<TKey, TValue> pair, IComparer<TKey> keyComparer, IEqualityComparer<TValue> valueComparer) 619private Node SetOrAdd(TKey key, TValue value, IComparer<TKey> keyComparer, IEqualityComparer<TValue> valueComparer, bool overwriteExistingValue, out bool replacedExistingValue, out bool mutated)
System\Collections\Immutable\SortedInt32KeyNode.cs (2)
158internal SortedInt32KeyNode<TValue> SetItem(int key, TValue value, IEqualityComparer<TValue> valueComparer, out bool replacedExistingValue, out bool mutated) 403private SortedInt32KeyNode<TValue> SetOrAdd(int key, TValue value, IEqualityComparer<TValue> valueComparer, bool overwriteExistingValue, out bool replacedExistingValue, out bool mutated)
System\Linq\ImmutableArrayExtensions.cs (4)
156public static bool SequenceEqual<TDerived, TBase>(this ImmutableArray<TBase> immutableArray, ImmutableArray<TDerived> items, IEqualityComparer<TBase>? comparer = null) where TDerived : TBase 188public static bool SequenceEqual<TDerived, TBase>(this ImmutableArray<TBase> immutableArray, IEnumerable<TDerived> items, IEqualityComparer<TBase>? comparer = null) where TDerived : TBase 574public static Dictionary<TKey, T> ToDictionary<TKey, T>(this ImmutableArray<T> immutableArray, Func<T, TKey> keySelector, IEqualityComparer<TKey>? comparer) where TKey : notnull 598public static Dictionary<TKey, TElement> ToDictionary<TKey, TElement, T>(this ImmutableArray<T> immutableArray, Func<T, TKey> keySelector, Func<T, TElement> elementSelector, IEqualityComparer<TKey>? comparer) where TKey : notnull
System.Data.Common (1)
System\Data\Common\ObjectStorage.cs (1)
643internal static readonly IEqualityComparer<KeyValuePair<Type, XmlRootAttribute>> s_default = new TempAssemblyComparer();
System.IO.Packaging (2)
System\IO\Packaging\ZipPackage.cs (2)
733bool IEqualityComparer<string>.Equals(string? extensionA, string? extensionB) 745int IEqualityComparer<string>.GetHashCode(string extension)
System.Linq (78)
System\Linq\AggregateBy.cs (8)
21/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 32IEqualityComparer<TKey>? keyComparer = null) where TKey : notnull 65/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 76IEqualityComparer<TKey>? keyComparer = null) where TKey : notnull 103private static IEnumerable<KeyValuePair<TKey, TAccumulate>> AggregateByIterator<TSource, TKey, TAccumulate>(IEnumerable<TSource> source, Func<TSource, TKey> keySelector, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> func, IEqualityComparer<TKey>? keyComparer) where TKey : notnull 117static Dictionary<TKey, TAccumulate> PopulateDictionary(IEnumerator<TSource> enumerator, Func<TSource, TKey> keySelector, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> func, IEqualityComparer<TKey>? keyComparer) 135private static IEnumerable<KeyValuePair<TKey, TAccumulate>> AggregateByIterator<TSource, TKey, TAccumulate>(IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TKey, TAccumulate> seedSelector, Func<TAccumulate, TSource, TAccumulate> func, IEqualityComparer<TKey>? keyComparer) where TKey : notnull 149static Dictionary<TKey, TAccumulate> PopulateDictionary(IEnumerator<TSource> enumerator, Func<TSource, TKey> keySelector, Func<TKey, TAccumulate> seedSelector, Func<TAccumulate, TSource, TAccumulate> func, IEqualityComparer<TKey>? keyComparer)
System\Linq\Contains.cs (1)
14public static bool Contains<TSource>(this IEnumerable<TSource> source, TSource value, IEqualityComparer<TSource>? comparer)
System\Linq\CountBy.cs (4)
18/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 20public static IEnumerable<KeyValuePair<TKey, int>> CountBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer = null) where TKey : notnull 39private static IEnumerable<KeyValuePair<TKey, int>> CountByIterator<TSource, TKey>(IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer) where TKey : notnull 54private static Dictionary<TKey, int> BuildCountDictionary<TSource, TKey>(IEnumerator<TSource> enumerator, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer) where TKey : notnull
System\Linq\Distinct.cs (7)
13public static IEnumerable<TSource> Distinct<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? comparer) 46/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 51/// <para>The <see cref="DistinctBy{TSource, TKey}(IEnumerable{TSource}, Func{TSource, TKey}, IEqualityComparer{TKey}?)" /> method returns an unordered sequence that contains no duplicate values. If <paramref name="comparer" /> is <see langword="null" />, the default equality comparer, <see cref="EqualityComparer{T}.Default" />, is used to compare values.</para> 53public static IEnumerable<TSource> DistinctBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer) 72private static IEnumerable<TSource> DistinctByIterator<TSource, TKey>(IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer) 98private readonly IEqualityComparer<TSource>? _comparer; 102public DistinctIterator(IEnumerable<TSource> source, IEqualityComparer<TSource>? comparer)
System\Linq\Except.cs (5)
25public static IEnumerable<TSource> Except<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource>? comparer) 59/// <param name="comparer">The <see cref="IEqualityComparer{TKey}" /> to compare values.</param> 61public static IEnumerable<TSource> ExceptBy<TSource, TKey>(this IEnumerable<TSource> first, IEnumerable<TKey> second, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer) 79private static IEnumerable<TSource> ExceptIterator<TSource>(IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource>? comparer) 92private static IEnumerable<TSource> ExceptByIterator<TSource, TKey>(IEnumerable<TSource> first, IEnumerable<TKey> second, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer)
System\Linq\Grouping.cs (12)
15public static IEnumerable<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer) 38public static IEnumerable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey>? comparer) 66public static IEnumerable<TResult> GroupBy<TSource, TKey, TResult>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TKey, IEnumerable<TSource>, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 94public static IEnumerable<TResult> GroupBy<TSource, TKey, TElement, TResult>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<TKey, IEnumerable<TElement>, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 129private readonly IEqualityComparer<TKey>? _comparer; 135public GroupByResultIterator(IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<TKey, IEnumerable<TElement>, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 186private readonly IEqualityComparer<TKey>? _comparer; 192public GroupByResultIterator(IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TKey, IEnumerable<TSource>, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 243private readonly IEqualityComparer<TKey>? _comparer; 248public GroupByIterator(IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey>? comparer) 297private readonly IEqualityComparer<TKey>? _comparer; 302public GroupByIterator(IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer)
System\Linq\GroupJoin.cs (2)
13public static IEnumerable<TResult> GroupJoin<TOuter, TInner, TKey, TResult>(this IEnumerable<TOuter> outer, IEnumerable<TInner> inner, Func<TOuter, TKey> outerKeySelector, Func<TInner, TKey> innerKeySelector, Func<TOuter, IEnumerable<TInner>, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 48private static IEnumerable<TResult> GroupJoinIterator<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter> outer, IEnumerable<TInner> inner, Func<TOuter, TKey> outerKeySelector, Func<TInner, TKey> innerKeySelector, Func<TOuter, IEnumerable<TInner>, TResult> resultSelector, IEqualityComparer<TKey>? comparer)
System\Linq\Intersect.cs (5)
12public static IEnumerable<TSource> Intersect<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource>? comparer) 49/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 58public static IEnumerable<TSource> IntersectBy<TSource, TKey>(this IEnumerable<TSource> first, IEnumerable<TKey> second, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer) 76private static IEnumerable<TSource> IntersectIterator<TSource>(IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource>? comparer) 89private static IEnumerable<TSource> IntersectByIterator<TSource, TKey>(IEnumerable<TSource> first, IEnumerable<TKey> second, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer)
System\Linq\Join.cs (2)
13public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>(this IEnumerable<TOuter> outer, IEnumerable<TInner> inner, Func<TOuter, TKey> outerKeySelector, Func<TInner, TKey> innerKeySelector, Func<TOuter, TInner, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 48private static IEnumerable<TResult> JoinIterator<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter> outer, IEnumerable<TInner> inner, Func<TOuter, TKey> outerKeySelector, Func<TInner, TKey> innerKeySelector, Func<TOuter, TInner, TResult> resultSelector, IEqualityComparer<TKey>? comparer)
System\Linq\LeftJoin.cs (2)
13public static IEnumerable<TResult> LeftJoin<TOuter, TInner, TKey, TResult>(this IEnumerable<TOuter> outer, IEnumerable<TInner> inner, Func<TOuter, TKey> outerKeySelector, Func<TInner, TKey> innerKeySelector, Func<TOuter, TInner?, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 48private static IEnumerable<TResult> LeftJoinIterator<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter> outer, IEnumerable<TInner> inner, Func<TOuter, TKey> outerKeySelector, Func<TInner, TKey> innerKeySelector, Func<TOuter, TInner?, TResult> resultSelector, IEqualityComparer<TKey>? comparer)
System\Linq\Lookup.cs (8)
15public static ILookup<TKey, TSource> ToLookup<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer) 38public static ILookup<TKey, TElement> ToLookup<TSource, TKey, TElement>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey>? comparer) 77private readonly IEqualityComparer<TKey> _comparer; 82internal static Lookup<TKey, TElement> Create<TSource>(IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey>? comparer) 97internal static Lookup<TKey, TElement> Create(IEnumerable<TElement> source, Func<TElement, TKey> keySelector, IEqualityComparer<TKey>? comparer) 111internal static Lookup<TKey, TElement> CreateForJoin(IEnumerable<TElement> source, Func<TElement, TKey> keySelector, IEqualityComparer<TKey>? comparer) 126private protected Lookup(IEqualityComparer<TKey>? comparer) 264internal CollectionLookup(IEqualityComparer<TKey>? comparer) : base(comparer) { }
System\Linq\RightJoin.cs (2)
13public static IEnumerable<TResult> RightJoin<TOuter, TInner, TKey, TResult>(this IEnumerable<TOuter> outer, IEnumerable<TInner> inner, Func<TOuter, TKey> outerKeySelector, Func<TInner, TKey> innerKeySelector, Func<TOuter?, TInner, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 48private static IEnumerable<TResult> RightJoinIterator<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter> outer, IEnumerable<TInner> inner, Func<TOuter, TKey> outerKeySelector, Func<TInner, TKey> innerKeySelector, Func<TOuter?, TInner, TResult> resultSelector, IEqualityComparer<TKey>? comparer)
System\Linq\SequenceEqual.cs (1)
13public static bool SequenceEqual<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource>? comparer)
System\Linq\ToCollection.cs (9)
91/// <param name="comparer">An <see cref="IEqualityComparer{TKey}"/> to compare keys.</param> 98public static Dictionary<TKey, TValue> ToDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> source, IEqualityComparer<TKey>? comparer) where TKey : notnull 126/// <param name="comparer">An <see cref="IEqualityComparer{TKey}"/> to compare keys.</param> 133public static Dictionary<TKey, TValue> ToDictionary<TKey, TValue>(this IEnumerable<(TKey Key, TValue Value)> source, IEqualityComparer<TKey>? comparer) where TKey : notnull => 139public static Dictionary<TKey, TSource> ToDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer) where TKey : notnull 179private static Dictionary<TKey, TSource> SpanToDictionary<TSource, TKey>(ReadOnlySpan<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer) where TKey : notnull 192public static Dictionary<TKey, TElement> ToDictionary<TSource, TKey, TElement>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey>? comparer) where TKey : notnull 237private static Dictionary<TKey, TElement> SpanToDictionary<TSource, TKey, TElement>(ReadOnlySpan<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey>? comparer) where TKey : notnull 249public static HashSet<TSource> ToHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? comparer)
System\Linq\Union.cs (8)
14public static IEnumerable<TSource> Union<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource>? comparer) 50/// <param name="comparer">The <see cref="IEqualityComparer{T}" /> to compare values.</param> 58public static IEnumerable<TSource> UnionBy<TSource, TKey>(this IEnumerable<TSource> first, IEnumerable<TSource> second, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer) 76private static IEnumerable<TSource> UnionByIterator<TSource, TKey>(IEnumerable<TSource> first, IEnumerable<TSource> second, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer) 103internal readonly IEqualityComparer<TSource>? _comparer; 107protected UnionIterator(IEqualityComparer<TSource>? comparer) 217public UnionIterator2(IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource>? comparer) 255public UnionIteratorN(SingleLinkedNode<IEnumerable<TSource>> sources, int headIndex, IEqualityComparer<TSource>? comparer)
System\Linq\Utilities.cs (2)
20public static bool AreEqualityComparersEqual<TSource>(IEqualityComparer<TSource>? left, IEqualityComparer<TSource>? right)
System.Linq.AsyncEnumerable (145)
System\Linq\AggregateBy.cs (12)
24/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 38IEqualityComparer<TKey>? keyComparer = null) 52IEqualityComparer<TKey>? keyComparer, 99/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 113IEqualityComparer<TKey>? keyComparer = null) 127IEqualityComparer<TKey>? keyComparer, 169/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 184IEqualityComparer<TKey>? keyComparer = null) where TKey : notnull 198IEqualityComparer<TKey>? keyComparer, 245/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 260IEqualityComparer<TKey>? keyComparer = null) where TKey : notnull 274IEqualityComparer<TKey>? keyComparer,
System\Linq\ContainsAsync.cs (2)
24IEqualityComparer<TSource>? comparer = null, 34IEqualityComparer<TSource> comparer)
System\Linq\CountBy.cs (6)
19/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 26IEqualityComparer<TKey>? keyComparer = null) where TKey : notnull 34IAsyncEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer, [EnumeratorCancellation] CancellationToken cancellationToken) 74/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 81IEqualityComparer<TKey>? keyComparer = null) where TKey : notnull 89IAsyncEnumerable<TSource> source, Func<TSource, CancellationToken, ValueTask<TKey>> keySelector, IEqualityComparer<TKey>? keyComparer, [EnumeratorCancellation] CancellationToken cancellationToken)
System\Linq\Distinct.cs (3)
15/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare values.</param> 20IEqualityComparer<TSource>? comparer = null) 28IEqualityComparer<TSource>? comparer,
System\Linq\DistinctBy.cs (8)
18/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 23/// <para>The <see cref="DistinctBy{TSource, TKey}(IAsyncEnumerable{TSource}, Func{TSource, TKey}, IEqualityComparer{TKey}?)" /> method returns an unordered sequence that contains no duplicate values. If <paramref name="comparer" /> is <see langword="null" />, the default equality comparer, <see cref="EqualityComparer{T}.Default" />, is used to compare values.</para> 30IEqualityComparer<TKey>? comparer = null) 40IEqualityComparer<TKey>? comparer, 72/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 77/// <para>The <see cref="DistinctBy{TSource, TKey}(IAsyncEnumerable{TSource}, Func{TSource, CancellationToken, ValueTask{TKey}}, IEqualityComparer{TKey}?)" /> method returns an unordered sequence that contains no duplicate values. If <paramref name="comparer" /> is <see langword="null" />, the default equality comparer, <see cref="EqualityComparer{T}.Default" />, is used to compare values.</para> 84IEqualityComparer<TKey>? comparer = null) 94IEqualityComparer<TKey>? comparer,
System\Linq\Except.cs (3)
17/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare values.</param> 24IEqualityComparer<TSource>? comparer = null) 34IEqualityComparer<TSource>? comparer,
System\Linq\ExceptBy.cs (6)
21/// <param name="comparer">The <see cref="IEqualityComparer{TKey}" /> to compare values.</param> 30IEqualityComparer<TKey>? comparer = null) 42IEqualityComparer<TKey>? comparer, 70/// <param name="comparer">The <see cref="IEqualityComparer{TKey}" /> to compare values.</param> 79IEqualityComparer<TKey>? comparer = null) 91IEqualityComparer<TKey>? comparer,
System\Linq\GroupBy.cs (24)
20/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 30IEqualityComparer<TKey>? comparer = null) 40IEqualityComparer<TKey>? comparer, 55/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 65IEqualityComparer<TKey>? comparer = null) 75IEqualityComparer<TKey>? comparer, 96/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 108IEqualityComparer<TKey>? comparer = null) 120IEqualityComparer<TKey>? comparer, 141/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 153IEqualityComparer<TKey>? comparer = null) 165IEqualityComparer<TKey>? comparer, 185/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 197IEqualityComparer<TKey>? comparer = null) 209IEqualityComparer<TKey>? comparer, 230/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 242IEqualityComparer<TKey>? comparer = null) 254IEqualityComparer<TKey>? comparer, 279/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 290IEqualityComparer<TKey>? comparer = null) 304IEqualityComparer<TKey>? comparer, 329/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 340IEqualityComparer<TKey>? comparer = null) 354IEqualityComparer<TKey>? comparer,
System\Linq\GroupJoin.cs (6)
26/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to use to hash and compare keys.</param> 42IEqualityComparer<TKey>? comparer = null) 58IEqualityComparer<TKey>? comparer, 95/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to use to hash and compare keys.</param> 111IEqualityComparer<TKey>? comparer = null) 127IEqualityComparer<TKey>? comparer,
System\Linq\Intersect.cs (3)
17/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare values.</param> 24IEqualityComparer<TSource>? comparer = null) 34IEqualityComparer<TSource>? comparer,
System\Linq\IntersectBy.cs (6)
19/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 35IEqualityComparer<TKey>? comparer = null) 47IEqualityComparer<TKey>? comparer, 87/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 103IEqualityComparer<TKey>? comparer = null) 115IEqualityComparer<TKey>? comparer,
System\Linq\Join.cs (6)
23/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to use to hash and compare keys.</param> 39IEqualityComparer<TKey>? comparer = null) 54IEqualityComparer<TKey>? comparer, 100/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to use to hash and compare keys.</param> 116IEqualityComparer<TKey>? comparer = null) 132IEqualityComparer<TKey>? comparer,
System\Linq\LeftJoin.cs (6)
19/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to use to hash and compare keys.</param> 36IEqualityComparer<TKey>? comparer = null) 51IEqualityComparer<TKey>? comparer, 94/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to use to hash and compare keys.</param> 111IEqualityComparer<TKey>? comparer = null) 127IEqualityComparer<TKey>? comparer,
System\Linq\RightJoin.cs (6)
19/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to use to hash and compare keys.</param> 36IEqualityComparer<TKey>? comparer = null) 52IEqualityComparer<TKey>? comparer, 95/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to use to hash and compare keys.</param> 112IEqualityComparer<TKey>? comparer = null) 128IEqualityComparer<TKey>? comparer,
System\Linq\SequenceEqualAsync.cs (3)
16/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to use to compare elements.</param> 25IEqualityComparer<TSource>? comparer = null, 36IEqualityComparer<TSource> comparer,
System\Linq\ToDictionaryAsync.cs (17)
19/// <param name="comparer">An <see cref="IEqualityComparer{TKey}"/> to compare keys.</param> 26IEqualityComparer<TKey>? comparer = null, 35IEqualityComparer<TKey>? comparer) 53/// <param name="comparer">An <see cref="IEqualityComparer{TKey}"/> to compare keys.</param> 59this IAsyncEnumerable<(TKey Key, TValue Value)> source, IEqualityComparer<TKey>? comparer = null, CancellationToken cancellationToken = default) where TKey : notnull => 70/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 79IEqualityComparer<TKey>? comparer = null, 90IEqualityComparer<TKey>? comparer) 109/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 118IEqualityComparer<TKey>? comparer = null, 129IEqualityComparer<TKey>? comparer, 151/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 162IEqualityComparer<TKey>? comparer = null, 175IEqualityComparer<TKey>? comparer) 197/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 208IEqualityComparer<TKey>? comparer = null, 221IEqualityComparer<TKey>? comparer,
System\Linq\ToHashSetAsync.cs (3)
16/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 22IEqualityComparer<TSource>? comparer = null, 31IEqualityComparer<TSource>? comparer)
System\Linq\ToLookupAsync.cs (16)
23/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 31IEqualityComparer<TKey>? comparer = null, 42IEqualityComparer<TKey>? comparer) 62/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 70IEqualityComparer<TKey>? comparer = null, 81IEqualityComparer<TKey>? comparer, 104/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 113IEqualityComparer<TKey>? comparer = null, 126IEqualityComparer<TKey>? comparer) 148/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 157IEqualityComparer<TKey>? comparer = null, 170IEqualityComparer<TKey>? comparer, 187private readonly IEqualityComparer<TKey> _comparer; 192internal AsyncLookup(IEqualityComparer<TKey>? comparer) 201IEqualityComparer<TKey>? comparer, 223IEqualityComparer<TKey>? comparer,
System\Linq\Union.cs (3)
17/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 24IEqualityComparer<TSource>? comparer = null) 34IEqualityComparer<TSource>? comparer,
System\Linq\UnionBy.cs (6)
19/// <param name="comparer">The <see cref="IEqualityComparer{T}" /> to compare values.</param> 27IEqualityComparer<TKey>? comparer = null) 39IEqualityComparer<TKey>? comparer, 68/// <param name="comparer">The <see cref="IEqualityComparer{T}" /> to compare values.</param> 76IEqualityComparer<TKey>? comparer = null) 88IEqualityComparer<TKey>? comparer,
System.Linq.Parallel (87)
System\Linq\Parallel\Partitioning\HashRepartitionStream.cs (4)
36private readonly IEqualityComparer<THashKey>? _keyComparer; // The optional key comparison routine. 37private readonly IEqualityComparer<TInputOutput>? _elementComparer; // The optional element comparison routine. 45int partitionsCount, IComparer<TOrderKey> orderKeyComparer, IEqualityComparer<THashKey>? hashKeyComparer, 46IEqualityComparer<TInputOutput>? elementComparer)
System\Linq\Parallel\Partitioning\OrderedHashRepartitionStream.cs (2)
19IEqualityComparer<THashKey>? hashKeyComparer, IEqualityComparer<TInputOutput>? elementComparer, CancellationToken cancellationToken)
System\Linq\Parallel\Partitioning\UnorderedHashRepartitionStream.cs (2)
23Func<TInputOutput, THashKey>? keySelector, IEqualityComparer<THashKey>? keyComparer, IEqualityComparer<TInputOutput>? elementComparer,
System\Linq\Parallel\QueryOperators\Binary\ExceptQueryOperator.cs (6)
25private readonly IEqualityComparer<TInputOutput>? _comparer; // An equality comparer. 31internal ExceptQueryOperator(ParallelQuery<TInputOutput> left, ParallelQuery<TInputOutput> right, IEqualityComparer<TInputOutput>? comparer) 141private readonly IEqualityComparer<TInputOutput>? _comparer; // A comparer used for equality checks/hash-coding. 153IEqualityComparer<TInputOutput>? comparer, 231private readonly IEqualityComparer<TInputOutput>? _comparer; // A comparer used for equality checks/hash-coding. 245IEqualityComparer<TInputOutput>? comparer, IComparer<TLeftKey> leftKeyComparer,
System\Linq\Parallel\QueryOperators\Binary\GroupJoinQueryOperator.cs (6)
31private readonly IEqualityComparer<TKey>? _keyComparer; // An optional key comparison object. 41IEqualityComparer<TKey>? keyComparer) 220private readonly IEqualityComparer<THashKey>? _keyComparer; // An optional key comparison object. 222internal GroupJoinHashLookupBuilder(QueryOperatorEnumerator<Pair<TElement, THashKey>, TOrderKey> dataSource, IEqualityComparer<THashKey>? keyComparer) 306private readonly IEqualityComparer<THashKey>? _keyComparer; // An optional key comparison object. 311IEqualityComparer<THashKey>? keyComparer,
System\Linq\Parallel\QueryOperators\Binary\IntersectQueryOperator.cs (6)
24private readonly IEqualityComparer<TInputOutput>? _comparer; // An equality comparer. 30internal IntersectQueryOperator(ParallelQuery<TInputOutput> left, ParallelQuery<TInputOutput> right, IEqualityComparer<TInputOutput>? comparer) 130private readonly IEqualityComparer<TInputOutput>? _comparer; // Comparer to use for equality/hash-coding. 142IEqualityComparer<TInputOutput>? comparer, CancellationToken cancellationToken) 232private readonly IEqualityComparer<Wrapper<TInputOutput>> _comparer; // Comparer to use for equality/hash-coding. 244IEqualityComparer<TInputOutput>? comparer, IComparer<TLeftKey> leftKeyComparer,
System\Linq\Parallel\QueryOperators\Binary\JoinQueryOperator.cs (4)
47private readonly IEqualityComparer<TKey>? _keyComparer; // An optional key comparison object. 57IEqualityComparer<TKey>? keyComparer) 197private readonly IEqualityComparer<THashKey>? _keyComparer; // An optional key comparison object. 199internal JoinHashLookupBuilder(QueryOperatorEnumerator<Pair<TElement, THashKey>, TOrderKey> dataSource, IEqualityComparer<THashKey>? keyComparer)
System\Linq\Parallel\QueryOperators\Binary\UnionQueryOperator.cs (7)
24private readonly IEqualityComparer<TInputOutput>? _comparer; // An equality comparer. 30internal UnionQueryOperator(ParallelQuery<TInputOutput> left, ParallelQuery<TInputOutput> right, IEqualityComparer<TInputOutput>? comparer) 190private readonly IEqualityComparer<TInputOutput>? _comparer; 199IEqualityComparer<TInputOutput>? comparer, 302private readonly IEqualityComparer<TInputOutput>? _comparer; // Comparer for the elements. 312bool leftOrdered, bool rightOrdered, IEqualityComparer<TInputOutput>? comparer, IComparer<ConcatKey<TLeftKey, TRightKey>> keyComparer, 340IEqualityComparer<Wrapper<TInputOutput>> wrapperComparer = new WrapperEqualityComparer<TInputOutput>(_comparer);
System\Linq\Parallel\QueryOperators\Unary\ContainsSearchOperator.cs (4)
26private readonly IEqualityComparer<TInput> _comparer; // The comparer to use for equality tests. 37internal ContainsSearchOperator(IEnumerable<TInput> child, TInput searchValue, IEqualityComparer<TInput>? comparer) 131private readonly IEqualityComparer<TInput> _comparer; // The comparer to use for equality tests. 141IEqualityComparer<TInput> comparer, int partitionIndex, Shared<bool> resultFoundFlag,
System\Linq\Parallel\QueryOperators\Unary\DistinctQueryOperator.cs (4)
25private readonly IEqualityComparer<TInputOutput>? _comparer; // An (optional) equality comparer. 31internal DistinctQueryOperator(IEnumerable<TInputOutput> source, IEqualityComparer<TInputOutput>? comparer) 131QueryOperatorEnumerator<Pair<TInputOutput, NoKeyMemoizationRequired>, TKey> source, IEqualityComparer<TInputOutput>? comparer, 207IEqualityComparer<TInputOutput>? comparer, IComparer<TKey> keyComparer,
System\Linq\Parallel\QueryOperators\Unary\GroupByQueryOperator.cs (10)
34private readonly IEqualityComparer<TGroupKey>? _keyComparer; // An optional key comparison object. 53IEqualityComparer<TGroupKey>? keyComparer) 225protected readonly IEqualityComparer<TGroupKey>? _keyComparer; // A key comparer. 241IEqualityComparer<TGroupKey>? keyComparer, CancellationToken cancellationToken) 311IEqualityComparer<TGroupKey>? keyComparer, CancellationToken cancellationToken) 371IEqualityComparer<TGroupKey>? keyComparer, Func<TSource, TElement> elementSelector, CancellationToken cancellationToken) : 427protected readonly IEqualityComparer<TGroupKey>? _keyComparer; // The key comparison routine. 443Func<TSource, TGroupKey> keySelector, IEqualityComparer<TGroupKey>? keyComparer, IComparer<TOrderKey> orderComparer, 539Func<TSource, TGroupKey> keySelector, IEqualityComparer<TGroupKey>? keyComparer, IComparer<TOrderKey> orderComparer, 612Func<TSource, TGroupKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TGroupKey>? keyComparer, IComparer<TOrderKey> orderComparer,
System\Linq\Parallel\Utils\ExchangeUtilities.cs (4)
90PartitionedStream<TElement, TIgnoreKey> source, Func<TElement, THashKey>? keySelector, IEqualityComparer<THashKey>? keyComparer, 91IEqualityComparer<TElement>? elementComparer, CancellationToken cancellationToken) 98PartitionedStream<TElement, TOrderKey> source, Func<TElement, THashKey>? keySelector, IEqualityComparer<THashKey>? keyComparer, 99IEqualityComparer<TElement>? elementComparer, CancellationToken cancellationToken)
System\Linq\Parallel\Utils\HashLookup.cs (2)
26private readonly IEqualityComparer<TKey>? comparer; 34internal HashLookup(IEqualityComparer<TKey>? comparer)
System\Linq\Parallel\Utils\Lookup.cs (2)
40private readonly IEqualityComparer<TKey> _comparer; 43internal Lookup(IEqualityComparer<TKey> comparer)
System\Linq\Parallel\Utils\WrapperEqualityComparer.cs (2)
22private readonly IEqualityComparer<T> _comparer; 24internal WrapperEqualityComparer(IEqualityComparer<T>? comparer) =>
System\Linq\ParallelEnumerable.cs (22)
745Func<TOuter, TInner, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 782Func<TOuter, TInner, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 879Func<TOuter, IEnumerable<TInner>, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 917Func<TOuter, IEnumerable<TInner>, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 1316this ParallelQuery<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer) 1369this ParallelQuery<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey>? comparer) 1436this ParallelQuery<TSource> source, Func<TSource, TKey> keySelector, Func<TKey, IEnumerable<TSource>, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 1497this ParallelQuery<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<TKey, IEnumerable<TElement>, TResult> resultSelector, IEqualityComparer<TKey>? comparer) 4072public static bool Contains<TSource>(this ParallelQuery<TSource> source, TSource value, IEqualityComparer<TSource>? comparer) 4371public static bool SequenceEqual<TSource>(this ParallelQuery<TSource> first, ParallelQuery<TSource> second, IEqualityComparer<TSource>? comparer) 4452public static bool SequenceEqual<TSource>(this ParallelQuery<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource>? comparer) 4489this ParallelQuery<TSource> source, IEqualityComparer<TSource>? comparer) 4550this ParallelQuery<TSource> first, ParallelQuery<TSource> second, IEqualityComparer<TSource>? comparer) 4576this ParallelQuery<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource>? comparer) 4645this ParallelQuery<TSource> first, ParallelQuery<TSource> second, IEqualityComparer<TSource>? comparer) 4671this ParallelQuery<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource>? comparer) 4741this ParallelQuery<TSource> first, ParallelQuery<TSource> second, IEqualityComparer<TSource>? comparer) 4767this ParallelQuery<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource>? comparer) 4959this ParallelQuery<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer) where TKey : notnull 5056this ParallelQuery<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey>? comparer) where TKey : notnull 5138this ParallelQuery<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer) where TKey : notnull 5224this ParallelQuery<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey>? comparer) where TKey : notnull
System.Linq.Queryable (70)
System\Linq\Queryable.cs (70)
198public static IQueryable<TResult> Join<TOuter, TInner, TKey, TResult>(this IQueryable<TOuter> outer, IEnumerable<TInner> inner, Expression<Func<TOuter, TKey>> outerKeySelector, Expression<Func<TInner, TKey>> innerKeySelector, Expression<Func<TOuter, TInner, TResult>> resultSelector, IEqualityComparer<TKey>? comparer) 209new Func<IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, TInner, TResult>>, IEqualityComparer<TKey>, IQueryable<TResult>>(Join).Method, 210outer.Expression, GetSourceExpression(inner), Expression.Quote(outerKeySelector), Expression.Quote(innerKeySelector), Expression.Quote(resultSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 230public static IQueryable<TResult> GroupJoin<TOuter, TInner, TKey, TResult>(this IQueryable<TOuter> outer, IEnumerable<TInner> inner, Expression<Func<TOuter, TKey>> outerKeySelector, Expression<Func<TInner, TKey>> innerKeySelector, Expression<Func<TOuter, IEnumerable<TInner>, TResult>> resultSelector, IEqualityComparer<TKey>? comparer) 241new Func<IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, IEnumerable<TInner>, TResult>>, IEqualityComparer<TKey>, IQueryable<TResult>>(GroupJoin).Method, 242outer.Expression, GetSourceExpression(inner), Expression.Quote(outerKeySelector), Expression.Quote(innerKeySelector), Expression.Quote(resultSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 262public static IQueryable<TResult> LeftJoin<TOuter, TInner, TKey, TResult>(this IQueryable<TOuter> outer, IEnumerable<TInner> inner, Expression<Func<TOuter, TKey>> outerKeySelector, Expression<Func<TInner, TKey>> innerKeySelector, Expression<Func<TOuter, TInner?, TResult>> resultSelector, IEqualityComparer<TKey>? comparer) 273new Func<IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, TInner?, TResult>>, IEqualityComparer<TKey>, IQueryable<TResult>>(LeftJoin).Method, 274outer.Expression, GetSourceExpression(inner), Expression.Quote(outerKeySelector), Expression.Quote(innerKeySelector), Expression.Quote(resultSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 492public static IQueryable<TResult> RightJoin<TOuter, TInner, TKey, TResult>(this IQueryable<TOuter> outer, IEnumerable<TInner> inner, Expression<Func<TOuter, TKey>> outerKeySelector, Expression<Func<TInner, TKey>> innerKeySelector, Expression<Func<TOuter?, TInner, TResult>> resultSelector, IEqualityComparer<TKey>? comparer) 503new Func<IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter?, TInner, TResult>>, IEqualityComparer<TKey>, IQueryable<TResult>>(RightJoin).Method, 504outer.Expression, GetSourceExpression(inner), Expression.Quote(outerKeySelector), Expression.Quote(innerKeySelector), Expression.Quote(resultSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 681public static IQueryable<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, IEqualityComparer<TKey>? comparer) 689new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>, IQueryable<IGrouping<TKey, TSource>>>(GroupBy).Method, 690source.Expression, Expression.Quote(keySelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 694public static IQueryable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TSource, TElement>> elementSelector, IEqualityComparer<TKey>? comparer) 703new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TSource, TElement>>, IEqualityComparer<TKey>, IQueryable<IGrouping<TKey, TElement>>>(GroupBy).Method, 704source.Expression, Expression.Quote(keySelector), Expression.Quote(elementSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 737public static IQueryable<TResult> GroupBy<TSource, TKey, TResult>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TKey, IEnumerable<TSource>, TResult>> resultSelector, IEqualityComparer<TKey>? comparer) 746new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey, IEnumerable<TSource>, TResult>>, IEqualityComparer<TKey>, IQueryable<TResult>>(GroupBy).Method, 747source.Expression, Expression.Quote(keySelector), Expression.Quote(resultSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 751public static IQueryable<TResult> GroupBy<TSource, TKey, TElement, TResult>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TSource, TElement>> elementSelector, Expression<Func<TKey, IEnumerable<TElement>, TResult>> resultSelector, IEqualityComparer<TKey>? comparer) 761new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TSource, TElement>>, Expression<Func<TKey, IEnumerable<TElement>, TResult>>, IEqualityComparer<TKey>, IQueryable<TResult>>(GroupBy).Method, 762source.Expression, Expression.Quote(keySelector), Expression.Quote(elementSelector), Expression.Quote(resultSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 778public static IQueryable<TSource> Distinct<TSource>(this IQueryable<TSource> source, IEqualityComparer<TSource>? comparer) 785new Func<IQueryable<TSource>, IEqualityComparer<TSource>, IQueryable<TSource>>(Distinct).Method, 786source.Expression, Expression.Constant(comparer, typeof(IEqualityComparer<TSource>)))); 814/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 818public static IQueryable<TSource> DistinctBy<TSource, TKey>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, IEqualityComparer<TKey>? comparer) 826new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>, IQueryable<TSource>>(DistinctBy).Method, 827source.Expression, Expression.Quote(keySelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 931public static IQueryable<TSource> Union<TSource>(this IQueryable<TSource> source1, IEnumerable<TSource> source2, IEqualityComparer<TSource>? comparer) 939new Func<IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>, IQueryable<TSource>>(Union).Method, 942Expression.Constant(comparer, typeof(IEqualityComparer<TSource>)))); 973/// <param name="comparer">The <see cref="IEqualityComparer{T}" /> to compare values.</param> 977public static IQueryable<TSource> UnionBy<TSource, TKey>(this IQueryable<TSource> source1, IEnumerable<TSource> source2, Expression<Func<TSource, TKey>> keySelector, IEqualityComparer<TKey>? comparer) 986new Func<IQueryable<TSource>, IEnumerable<TSource>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>, IQueryable<TSource>>(UnionBy).Method, 990Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 1024public static IQueryable<TSource> Intersect<TSource>(this IQueryable<TSource> source1, IEnumerable<TSource> source2, IEqualityComparer<TSource>? comparer) 1032new Func<IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>, IQueryable<TSource>>(Intersect).Method, 1035Expression.Constant(comparer, typeof(IEqualityComparer<TSource>)))); 1068/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 1072public static IQueryable<TSource> IntersectBy<TSource, TKey>(this IQueryable<TSource> source1, IEnumerable<TKey> source2, Expression<Func<TSource, TKey>> keySelector, IEqualityComparer<TKey>? comparer) 1081new Func<IQueryable<TSource>, IEnumerable<TKey>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>, IQueryable<TSource>>(IntersectBy).Method, 1085Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 1102public static IQueryable<TSource> Except<TSource>(this IQueryable<TSource> source1, IEnumerable<TSource> source2, IEqualityComparer<TSource>? comparer) 1110new Func<IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>, IQueryable<TSource>>(Except).Method, 1113Expression.Constant(comparer, typeof(IEqualityComparer<TSource>)))); 1149/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 1152public static IQueryable<TSource> ExceptBy<TSource, TKey>(this IQueryable<TSource> source1, IEnumerable<TKey> source2, Expression<Func<TSource, TKey>> keySelector, IEqualityComparer<TKey>? comparer) 1161new Func<IQueryable<TSource>, IEnumerable<TKey>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>, IQueryable<TSource>>(ExceptBy).Method, 1165Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 1539public static bool Contains<TSource>(this IQueryable<TSource> source, TSource item, IEqualityComparer<TSource>? comparer) 1546new Func<IQueryable<TSource>, TSource, IEqualityComparer<TSource>, bool>(Contains).Method, 1547source.Expression, Expression.Constant(item, typeof(TSource)), Expression.Constant(comparer, typeof(IEqualityComparer<TSource>)))); 1576public static bool SequenceEqual<TSource>(this IQueryable<TSource> source1, IEnumerable<TSource> source2, IEqualityComparer<TSource>? comparer) 1584new Func<IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>, bool>(SequenceEqual).Method, 1587Expression.Constant(comparer, typeof(IEqualityComparer<TSource>)))); 1658/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 1662public static IQueryable<KeyValuePair<TKey, int>> CountBy<TSource, TKey>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, IEqualityComparer<TKey>? comparer = null) where TKey : notnull 1670new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>, IQueryable<KeyValuePair<TKey, int>>>(CountBy).Method, 1671source.Expression, Expression.Quote(keySelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 2430/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 2437public static IQueryable<KeyValuePair<TKey, TAccumulate>> AggregateBy<TSource, TKey, TAccumulate>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, TAccumulate seed, Expression<Func<TAccumulate, TSource, TAccumulate>> func, IEqualityComparer<TKey>? keyComparer = null) where TKey : notnull 2446new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, TAccumulate, Expression<Func<TAccumulate, TSource, TAccumulate>>, IEqualityComparer<TKey>, IQueryable<KeyValuePair<TKey, TAccumulate>>>(AggregateBy).Method, 2447source.Expression, Expression.Quote(keySelector), Expression.Constant(seed), Expression.Quote(func), Expression.Constant(keyComparer, typeof(IEqualityComparer<TKey>)))); 2460/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 2467public static IQueryable<KeyValuePair<TKey, TAccumulate>> AggregateBy<TSource, TKey, TAccumulate>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TKey, TAccumulate>> seedSelector, Expression<Func<TAccumulate, TSource, TAccumulate>> func, IEqualityComparer<TKey>? keyComparer = null) where TKey : notnull 2477new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey, TAccumulate>>, Expression<Func<TAccumulate, TSource, TAccumulate>>, IEqualityComparer<TKey>, IQueryable<KeyValuePair<TKey, TAccumulate>>>(AggregateBy).Method, 2478source.Expression, Expression.Quote(keySelector), Expression.Quote(seedSelector), Expression.Quote(func), Expression.Constant(keyComparer, typeof(IEqualityComparer<TKey>))));
System.Net.Http (1)
System\Net\Http\Headers\HeaderUtilities.cs (1)
180internal static bool AreEqualCollections<T>(ObjectCollection<T>? x, ObjectCollection<T>? y, IEqualityComparer<T>? comparer) where T : class
System.ObjectModel (4)
System\Collections\ObjectModel\KeyedCollection.cs (4)
18private readonly IEqualityComparer<TKey> comparer; // Do not rename (binary serialization) 27protected KeyedCollection(IEqualityComparer<TKey>? comparer) : this(comparer, DefaultThreshold) 31protected KeyedCollection(IEqualityComparer<TKey>? comparer, int dictionaryCreationThreshold) 56public IEqualityComparer<TKey> Comparer => comparer;
System.Private.CoreLib (196)
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\Dictionary.cs (20)
35private IEqualityComparer<TKey>? _comparer; 44public Dictionary(IEqualityComparer<TKey>? comparer) : this(0, comparer) { } 46public Dictionary(int capacity, IEqualityComparer<TKey>? comparer) 73NonRandomizedStringEqualityComparer.GetStringComparer(_comparer!) is IEqualityComparer<string> stringComparer) 75_comparer = (IEqualityComparer<TKey>)stringComparer; 87public Dictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) : 100public Dictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) : 193public IEqualityComparer<TKey> Comparer 200return (IEqualityComparer<TKey>)IInternalStringEqualityComparer.GetUnderlyingEqualityComparer((IEqualityComparer<string?>)_comparer); 386info.AddValue(ComparerName, Comparer, typeof(IEqualityComparer<TKey>)); 408IEqualityComparer<TKey>? comparer = _comparer; 524IEqualityComparer<TKey>? comparer = _comparer; 1089IEqualityComparer<TKey>? comparer = dictionary._comparer; 1212_comparer = (IEqualityComparer<TKey>)siInfo.GetValue(ComparerName, typeof(IEqualityComparer<TKey>))!; // When serialized if comparer is null, we use the default. 1262IEqualityComparer<TKey> comparer = _comparer = (IEqualityComparer<TKey>)((NonRandomizedStringEqualityComparer)_comparer).GetRandomizedEqualityComparer(); 1307IEqualityComparer<TKey>? comparer = _comparer; 1380IEqualityComparer<TKey>? comparer = _comparer;
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\HashSet.cs (20)
49private IEqualityComparer<T>? _comparer; 53public HashSet() : this((IEqualityComparer<T>?)null) { } 55public HashSet(IEqualityComparer<T>? comparer) 72NonRandomizedStringEqualityComparer.GetStringComparer(_comparer) is IEqualityComparer<string> stringComparer) 74_comparer = (IEqualityComparer<T>)stringComparer; 88public HashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 121public HashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 228IEqualityComparer<T>? comparer = _comparer; 302IEqualityComparer<T>? comparer = _comparer; 705info.AddValue(ComparerName, Comparer, typeof(IEqualityComparer<T>)); 732_comparer = (IEqualityComparer<T>)siInfo.GetValue(ComparerName, typeof(IEqualityComparer<T>))!; 1239public IEqualityComparer<T> Comparer 1246return (IEqualityComparer<T>)IInternalStringEqualityComparer.GetUnderlyingEqualityComparer((IEqualityComparer<string?>)_comparer); 1258internal IEqualityComparer<T> EffectiveComparer => _comparer ?? EqualityComparer<T>.Default; 1301IEqualityComparer<T> comparer = _comparer = (IEqualityComparer<T>)((NonRandomizedStringEqualityComparer)_comparer).GetRandomizedEqualityComparer(); 1384public static IEqualityComparer<HashSet<T>> CreateSetComparer() => new HashSetEqualityComparer<T>(); 1422IEqualityComparer<T>? comparer = _comparer;
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\IAlternateEqualityComparer.cs (3)
7/// Implemented by an <see cref="IEqualityComparer{T}"/> to support comparing 26/// This interface is intended to be implemented on a type that also implements <see cref="IEqualityComparer{T}"/>. 27/// The result of this method should return the same hash code as would invoking the <see cref="IEqualityComparer{T}.GetHashCode"/>
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\IInternalStringEqualityComparer.cs (4)
7/// Represents an <see cref="IEqualityComparer{String}"/> that's meant for internal 14IEqualityComparer<string?> GetUnderlyingEqualityComparer(); 20internal static IEqualityComparer<string?> GetUnderlyingEqualityComparer(IEqualityComparer<string?> outerComparer)
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\NonRandomizedStringEqualityComparer.cs (6)
27private readonly IEqualityComparer<string?> _underlyingComparer; 29private NonRandomizedStringEqualityComparer(IEqualityComparer<string?> underlyingComparer) 66public virtual IEqualityComparer<string?> GetUnderlyingEqualityComparer() => _underlyingComparer; 79internal OrdinalComparer(IEqualityComparer<string?> wrappedComparer) : base(wrappedComparer) 111internal OrdinalIgnoreCaseComparer(IEqualityComparer<string?> wrappedComparer) : base(wrappedComparer) 146public static IEqualityComparer<string>? GetStringComparer(object comparer)
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\RandomizedStringEqualityComparer.cs (6)
18private readonly IEqualityComparer<string?> _underlyingComparer; 20private unsafe RandomizedStringEqualityComparer(IEqualityComparer<string?> underlyingComparer) 30internal static RandomizedStringEqualityComparer Create(IEqualityComparer<string?> underlyingComparer, bool ignoreCase) 42public IEqualityComparer<string?> GetUnderlyingEqualityComparer() => _underlyingComparer; 52internal OrdinalComparer(IEqualityComparer<string?> wrappedComparer) 97internal OrdinalIgnoreCaseComparer(IEqualityComparer<string?> wrappedComparer)
src\libraries\System.Private.CoreLib\src\System\Collections\Generic\ReferenceEqualityComparer.cs (1)
9/// An <see cref="IEqualityComparer{Object}"/> that uses reference equality (<see cref="object.ReferenceEquals(object?, object?)"/>)
src\libraries\System.Private.CoreLib\src\System\HashCode.cs (1)
307public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\libraries\System.Private.CoreLib\src\System\MemoryExtensions.cs (131)
370/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 372public static bool Contains<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) => 463/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 465public static bool ContainsAny<T>(this ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer = null) => 486/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 488public static bool ContainsAny<T>(this ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer = null) => 507public static bool ContainsAny<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> values, IEqualityComparer<T>? comparer = null) => 553/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 559public static bool ContainsAnyExcept<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) => 582/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 588public static bool ContainsAnyExcept<T>(this ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer = null) => 613/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 619public static bool ContainsAnyExcept<T>(this ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer = null) => 640/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 646public static bool ContainsAnyExcept<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> values, IEqualityComparer<T>? comparer = null) => 847/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 853public static unsafe int IndexOfAnyExcept<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) 906static int IndexOfAnyExceptComparer(ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer) 963/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 969public static unsafe int IndexOfAnyExcept<T>(this ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer = null) 1011static int IndexOfAnyExceptComparer(ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer) 1073/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 1079public static unsafe int IndexOfAnyExcept<T>(this ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer = null) 1124static int IndexOfAnyExceptComparer(ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer) 1258/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 1263public static unsafe int IndexOfAnyExcept<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> values, IEqualityComparer<T>? comparer = null) 1425/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 1431public static unsafe int LastIndexOfAnyExcept<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) 1484static int LastIndexOfAnyExceptComparer(ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer) 1541/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 1547public static unsafe int LastIndexOfAnyExcept<T>(this ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer = null) 1589static int LastIndexOfAnyExceptComparer(ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer) 1651/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 1657public static unsafe int LastIndexOfAnyExcept<T>(this ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer = null) 1702static int LastIndexOfAnyExceptComparer(ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer) 1838/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 1843public static unsafe int LastIndexOfAnyExcept<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> values, IEqualityComparer<T>? comparer = null) 2218/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 2220public static unsafe int IndexOf<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) 2268static int IndexOfComparer(ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer) 2317/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 2319public static unsafe int IndexOf<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer = null) 2339static int IndexOfComparer(ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer) 2418/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 2420public static unsafe int LastIndexOf<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) 2473static int LastIndexOfComparer(ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer) 2526/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 2528public static unsafe int LastIndexOf<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer = null) 2551static int LastIndexOfComparer(ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer) 2670/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 2672public static unsafe int IndexOfAny<T>(this ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer = null) 2714static int IndexOfAnyComparer(ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer) 2773/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 2775public static unsafe int IndexOfAny<T>(this ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer = null) 2820static int IndexOfAnyComparer(ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer) 2943/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 2944public static int IndexOfAny<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> values, IEqualityComparer<T>? comparer = null) 3090/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 3092public static unsafe int LastIndexOfAny<T>(this ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer = null) 3134static int LastIndexOfAnyComparer(ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer) 3194/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 3196public static unsafe int LastIndexOfAny<T>(this ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer = null) 3241static int LastIndexOfAnyComparer(ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer) 3365/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 3366public static unsafe int LastIndexOfAny<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> values, IEqualityComparer<T>? comparer = null) 3436/// Determines whether two sequences are equal by comparing the elements using an <see cref="IEqualityComparer{T}"/>. 3440/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 3443public static bool SequenceEqual<T>(this Span<T> span, ReadOnlySpan<T> other, IEqualityComparer<T>? comparer = null) => 3447/// Determines whether two sequences are equal by comparing the elements using an <see cref="IEqualityComparer{T}"/>. 3451/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 3453public static unsafe bool SequenceEqual<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> other, IEqualityComparer<T>? comparer = null) 3580/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 3582public static unsafe bool StartsWith<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer = null) => 3625/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 3627public static unsafe bool EndsWith<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer = null) => 3648/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 3651public static bool StartsWith<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) => 3672/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 3675public static bool EndsWith<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) => 4484/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 4486public static unsafe void Replace<T>(this Span<T> span, T oldValue, T newValue, IEqualityComparer<T>? comparer = null) 4554static void ReplaceComparer(Span<T> span, T oldValue, T newValue, IEqualityComparer<T>? comparer) 4659/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 4663public static unsafe void Replace<T>(this ReadOnlySpan<T> source, Span<T> destination, T oldValue, T newValue, IEqualityComparer<T>? comparer = null) 4746static void ReplaceComparer(ReadOnlySpan<T> source, Span<T> destination, T oldValue, T newValue, IEqualityComparer<T>? comparer) 4770/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 4773public static int CommonPrefixLength<T>(this Span<T> span, ReadOnlySpan<T> other, IEqualityComparer<T>? comparer) => 4827/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 4829public static int CommonPrefixLength<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> other, IEqualityComparer<T>? comparer) 5319/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 5322public static unsafe int Count<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) 5376static int CountComparer(ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer) 5436/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the default <see cref="IEqualityComparer{T}"/> for the type of an element.</param> 5438public static int Count<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer = null)
src\libraries\System.Private.CoreLib\src\System\StringComparer.cs (4)
61/// Determines whether the specified <see cref="IEqualityComparer{String}"/> is a well-known ordinal string comparer. 80public static bool IsWellKnownOrdinalComparer(IEqualityComparer<string?>? comparer, out bool ignoreCase) 112/// Determines whether the specified <see cref="IEqualityComparer{String}"/> is a well-known culture-aware string comparer. 130public static bool IsWellKnownCultureAwareComparer(IEqualityComparer<string?>? comparer, [NotNullWhen(true)] out CompareInfo? compareInfo, out CompareOptions compareOptions)
System.Private.Windows.Core (2)
System\Collections\Specialized\CompatibleIComparer.cs (1)
8internal static IEqualityComparer<string> Default { get; } = new BackCompatibleStringComparer();
System\Reflection\Metadata\DataObject.Composition.TypeNameComparer.cs (1)
16internal static IEqualityComparer<TypeName> Default { get; } = new TypeNameComparer();
System.Private.Xml (1)
System\Xml\Resolvers\XmlPreloadedResolver.cs (1)
171public XmlPreloadedResolver(XmlResolver? fallbackResolver, XmlKnownDtds preloadedDtds, IEqualityComparer<Uri>? uriComparer)
System.Runtime (1)
artifacts\obj\System.Runtime\Debug\net10.0\System.Runtime.Forwards.cs (1)
84[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Collections.Generic.IEqualityComparer<>))]
System.ServiceModel.Primitives (3)
netstandard.cs (3)
69public virtual bool ContainsClaim(System.IdentityModel.Claims.Claim claim, System.Collections.Generic.IEqualityComparer<System.IdentityModel.Claims.Claim> comparer) => default; 81public static System.Collections.Generic.IEqualityComparer<System.IdentityModel.Claims.Claim> DefaultComparer => default; 658protected void Initialize(System.IdentityModel.Claims.Claim identityClaim, Collections.Generic.IEqualityComparer<System.IdentityModel.Claims.Claim> claimComparer) { }
System.Text.Json (2)
src\libraries\System.Text.Json\Common\JsonHelpers.cs (1)
91public static T[] TraverseGraphWithTopologicalSort<T>(T entryNode, Func<T, ICollection<T>> getChildren, IEqualityComparer<T>? comparer = null)
System\Text\Json\JsonHelpers.cs (1)
257IEqualityComparer<TKey> comparer)
System.Text.Json.SourceGeneration (1)
src\libraries\System.Text.Json\Common\JsonHelpers.cs (1)
91public static T[] TraverseGraphWithTopologicalSort<T>(T entryNode, Func<T, ICollection<T>> getChildren, IEqualityComparer<T>? comparer = null)
System.Threading.RateLimiting (4)
System\Threading\RateLimiting\DefaultPartitionedRateLimiter.cs (2)
36IEqualityComparer<TKey>? equalityComparer = null) 43IEqualityComparer<TKey>? equalityComparer, TimeSpan timerInterval)
System\Threading\RateLimiting\PartitionedRateLimiter.cs (2)
24/// <param name="equalityComparer">Optional <see cref="IEqualityComparer{T}"/> to customize the comparison logic for <typeparamref name="TPartitionKey"/>.</param> 28IEqualityComparer<TPartitionKey>? equalityComparer = null) where TPartitionKey : notnull
System.Windows.Forms.Design (4)
System\ComponentModel\Design\Serialization\DesignerSerializationManager.cs (2)
974bool IEqualityComparer<object>.Equals(object? x, object? y) 979int IEqualityComparer<object>.GetHashCode(object x)
System\ComponentModel\Design\Serialization\ExpressionTable.cs (2)
46bool IEqualityComparer<object>.Equals(object? x, object? y) 49int IEqualityComparer<object>.GetHashCode(object? x)
System.Windows.Forms.Primitives.TestUtilities (1)
Extensions\AssertExtensions.cs (1)
425public static void CollectionEqual<T>(IEnumerable<T> expected, IEnumerable<T> actual, IEqualityComparer<T> comparer)
System.Windows.Forms.Tests (2)
System\Windows\Forms\TypeNameComparerTests.cs (2)
87var comparer = TypeNameComparer.Default; 100var comparer = TypeNameComparer.Default;
System.Xaml (1)
System\Xaml\XamlSchemaContext.cs (1)
1210internal static ConcurrentDictionary<K, V> CreateDictionary<K, V>(IEqualityComparer<K> comparer)
Templates.Blazor.Tests (3)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (3)
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer(); 423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) => 427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
Templates.Blazor.WebAssembly.Auth.Tests (3)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (3)
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer(); 423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) => 427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
Templates.Blazor.WebAssembly.Tests (3)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (3)
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer(); 423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) => 427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
Templates.Mvc.Tests (3)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (3)
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer(); 423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) => 427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
Templates.Tests (3)
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (3)
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer(); 423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) => 427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
xunit.assert (22)
AsyncCollectionAsserts.cs (7)
128 IEqualityComparer<T> comparer) => 161 IEqualityComparer<T> comparer) => 187 IEqualityComparer<T> comparer) => 261 IEqualityComparer<T> comparer) => 280 IEqualityComparer<T> comparer) => 380 IEqualityComparer<T> comparer) => 399 IEqualityComparer<T> comparer) =>
CollectionAsserts.cs (5)
275 IEqualityComparer<T> comparer) 327 IEqualityComparer<T> comparer) 387 IEqualityComparer<T> comparer) 504 IEqualityComparer<T> comparer) => 586 IEqualityComparer<T> comparer) =>
Comparers.cs (1)
29 static IEqualityComparer<T?> GetEqualityComparer<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.Interfaces |
EqualityAsserts.cs (2)
144 IEqualityComparer<T> comparer) 662 IEqualityComparer<T> comparer)
Sdk\AssertEqualityComparer.cs (2)
123 /// Default implementation of <see cref="IEqualityComparer{T}"/> used by the xUnit.net equality assertions. 378 public static IEqualityComparer<T?> FromComparer(Func<T, T, bool> comparer) =>
Sdk\AssertEqualityComparerAdapter.cs (3)
19 /// A class that wraps <see cref="IEqualityComparer{T}"/> to add <see cref="IEqualityComparer"/>. 24 readonly IEqualityComparer<T> innerComparer; 30 public AssertEqualityComparerAdapter(IEqualityComparer<T> innerComparer)
Sdk\AssertHelper.cs (1)
115 static readonly IEqualityComparer<object> referenceEqualityComparer = new ReferenceEqualityComparer();
Sdk\CollectionTracker.cs (1)
354 IEqualityComparer<T>? itemComparer)
xunit.console (1)
common\DictionaryExtensions.cs (1)
37IEqualityComparer<TKey> comparer = null)