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?>
561 implementations of IEqualityComparer
Aspire.Dashboard (2)
Otlp\Model\OtlpApplication.cs (1)
320private sealed class ApplicationViewKeyComparer : IEqualityComparer<KeyValuePair<string, string>[]>
Otlp\Model\OtlpInstrument.cs (1)
132private 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.Azure.AppContainers (1)
src\Shared\ResourceNameComparer.cs (1)
8internal sealed class ResourceNameComparer : IEqualityComparer<IResource>
Aspire.Hosting.Azure.AppService (1)
src\Shared\ResourceNameComparer.cs (1)
8internal sealed class ResourceNameComparer : IEqualityComparer<IResource>
Aspire.Hosting.Docker (1)
src\Shared\ResourceNameComparer.cs (1)
8internal sealed class ResourceNameComparer : IEqualityComparer<IResource>
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)
354private 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[]>
GenerateDocumentationAndConfigFiles (14)
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\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
14internal sealed class LinkedFileReferenceLocationEqualityComparer : IEqualityComparer<ReferenceLocation>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (1)
15IEqualityComparer<T> where T : SyntaxNode
Metrics (13)
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)
17internal sealed class ReferenceEqualityComparer : IEqualityComparer<object?>, IEqualityComparer
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
Metrics.Legacy (13)
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)
17internal sealed class ReferenceEqualityComparer : IEqualityComparer<object?>, IEqualityComparer
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
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.Web (1)
Routing\NavLink.cs (1)
265private class CaseInsensitiveCharComparer : IEqualityComparer<char>
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)
714private 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.SourceGenerators (1)
Helpers\AddOpenApiInvocationComparer.cs (1)
8internal class AddOpenApiInvocationComparer : IEqualityComparer<AddOpenApiInvocation>
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)
162private class DirInfoNameComparer : IEqualityComparer<DirectoryInfo>
Instance\ProjectItemInstance.cs (1)
2367internal class ProjectItemInstanceEqualityComparer : IEqualityComparer<ProjectItemInstance>
Instance\TaskRegistry.cs (1)
849internal class RegisteredTaskIdentityComparer : IEqualityComparer<RegisteredTaskIdentity>
Logging\EvaluationLocationIdAgnosticComparer.cs (1)
16internal class EvaluationLocationIdAgnosticComparer : IEqualityComparer<EvaluationLocation>
Logging\ParallelLogger\ParallelLoggerHelpers.cs (2)
215internal class ComparerContextNodeId<T> : IEqualityComparer<T> 244internal 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)
1882private 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)
2032public sealed class ElementLocationComparerIgnoringType : IEqualityComparer<ElementLocation>
Microsoft.Build.Utilities.Core (2)
MSBuildNameIgnoreCaseComparer.cs (1)
20internal class MSBuildNameIgnoreCaseComparer : IConstrainedEqualityComparer<string>, IEqualityComparer<string>
TrackedDependencies\DependencyTableCache.cs (1)
199private class TaskItemItemSpecIgnoreCaseComparer : IEqualityComparer<ITaskItem>
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 (28)
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)
427private 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)
14internal sealed class EmptyComparer : IEqualityComparer<object>
InternalUtilities\ReadOnlyMemoryOfCharComparer.cs (2)
14internal sealed class ReadOnlyMemoryOfCharComparer : IEqualityComparer<ReadOnlyMemory<char>> 42internal sealed class EmptyReadOnlyMemoryOfCharComparer : IEqualityComparer<ReadOnlyMemory<char>>
InternalUtilities\StringOrdinalComparer.cs (1)
17internal sealed class StringOrdinalComparer : IEqualityComparer<string>
MetadataReader\PEModule.cs (1)
792private class NamespaceHandleEqualityComparer : IEqualityComparer<NamespaceDefinitionHandle>
PEWriter\MemberRefComparer.cs (1)
11internal sealed class MemberRefComparer : IEqualityComparer<ITypeMemberReference>
PEWriter\MetadataWriter.cs (1)
4341private 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)
571internal sealed class MetadataReferenceEqualityComparer : IEqualityComparer<MetadataReference>
SourceGeneration\UserFunction.cs (1)
24internal sealed class WrappedUserComparer<T> : IEqualityComparer<T>
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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.Analyzers (15)
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)
17internal sealed class ReferenceEqualityComparer : IEqualityComparer<object?>, IEqualityComparer
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
14internal sealed class LinkedFileReferenceLocationEqualityComparer : IEqualityComparer<ReferenceLocation>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (1)
15IEqualityComparer<T> where T : SyntaxNode
Microsoft.CodeAnalysis.AnalyzerUtilities (13)
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)
17internal sealed class ReferenceEqualityComparer : IEqualityComparer<object?>, IEqualityComparer
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
Microsoft.CodeAnalysis.BannedApiAnalyzers (15)
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)
17internal sealed class ReferenceEqualityComparer : IEqualityComparer<object?>, IEqualityComparer
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
14internal sealed class LinkedFileReferenceLocationEqualityComparer : IEqualityComparer<ReferenceLocation>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (1)
15IEqualityComparer<T> where T : SyntaxNode
Microsoft.CodeAnalysis.CodeStyle (14)
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)
17internal sealed class ReferenceEqualityComparer : IEqualityComparer<object?>, IEqualityComparer
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
Microsoft.CodeAnalysis.CodeStyle.Fixes (2)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
14internal sealed class LinkedFileReferenceLocationEqualityComparer : IEqualityComparer<ReferenceLocation>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (1)
15IEqualityComparer<T> where T : SyntaxNode
Microsoft.CodeAnalysis.Collections.Package (1)
Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal sealed class SegmentedHashSetEqualityComparer<T> : IEqualityComparer<SegmentedHashSet<T>?>
Microsoft.CodeAnalysis.CSharp (14)
Binder\Binder_Operators.cs (1)
3728private class PairedOperatorComparer : IEqualityComparer<MethodSymbol>
Binder\DecisionDagBuilder.cs (1)
1941private sealed class DagStateEquivalence : IEqualityComparer<DagState>
Binder\Imports.cs (1)
209private class UsingTargetComparer : IEqualityComparer<NamespaceOrTypeAndUsingDirective>
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (1)
248internal class PairedExtensionOperatorSignatureComparer : IEqualityComparer<MethodSymbol>
BoundTree\UnboundLambda.cs (1)
1435private sealed class BindingCacheComparer : IEqualityComparer<(NamedTypeSymbol Type, bool IsExpressionTree)>
Compilation\CSharpCompilation.cs (1)
2455private sealed class InterceptorKeyComparer : IEqualityComparer<(ImmutableArray<byte> ContentHash, int Position)>
FlowAnalysis\NullableWalker.cs (2)
13447private sealed class NullabilityInfoTypeComparer : IEqualityComparer<(NullabilityInfo info, TypeSymbol? type)> 13463private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)>
Lowering\LocalRewriter\DelegateCacheContainer.cs (1)
93private sealed class CLRSignatureComparer : IEqualityComparer<(TypeSymbol? constrainedToTypeOpt, TypeSymbol delegateType, MethodSymbol targetMethod)>
Symbols\ConversionSignatureComparer.cs (1)
12internal sealed class ConversionSignatureComparer : IEqualityComparer<MethodSymbol>
Symbols\MemberSignatureComparer.cs (1)
34internal sealed class MemberSignatureComparer : IEqualityComparer<Symbol>
Symbols\TypeSymbol.cs (1)
2372protected 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)
27private sealed 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 (5)
Completion\CompletionProviders\FunctionPointerUnmanagedCallingConventionCompletionProvider.cs (1)
125private sealed class CompletionItemComparer : IEqualityComparer<CompletionItem>
Completion\CompletionProviders\NamedParameterCompletionProvider.cs (1)
31internal sealed partial class NamedParameterCompletionProvider : LSPCompletionProvider, IEqualityComparer<IParameterSymbol>
ConvertToExtension\ExtensionMethodEqualityComparer.cs (3)
18IEqualityComparer<AttributeData>, 19IEqualityComparer<ITypeParameterSymbol>, 20IEqualityComparer<ExtensionMethodInfo>
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)
74private sealed class DiagnosticAnalyzerComparer : IEqualityComparer<DiagnosticAnalyzer>
EditorConfigSettings\Updater\NamingStyles\SourceTextExtensions.cs (3)
110private sealed class NamingRuleComparerIgnoreGUIDs : IEqualityComparer<NamingRule> 131private sealed class NamingStyleComparerIgnoreGUIDs : IEqualityComparer<NamingStyle> 156private sealed class SymbolSpecificationComparerIgnoreGUIDs : IEqualityComparer<SymbolSpecification>
Tagging\AbstractAsynchronousTaggerProvider.TagSource_IEqualityComparer.cs (1)
12private partial class TagSource : IEqualityComparer<TagSpan<TTag>>
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (2)
Collections\Immutable\Maps\MapTests.cs (1)
122private sealed class PathologicalComparer<T> : IEqualityComparer<T>
Utilities\SymbolEquivalenceComparerTests.cs (1)
1774private 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)
539private sealed class CustomUIVisualizerInfoComparer : IEqualityComparer<DkmCustomUIVisualizerInfo>
Microsoft.CodeAnalysis.Extensions.Package (5)
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal sealed class SegmentedHashSetEqualityComparer<T> : IEqualityComparer<SegmentedHashSet<T>?>
Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
Microsoft.CodeAnalysis.Features (15)
AddImport\AbstractAddImportFeatureService.cs (1)
31: IAddImportFeatureService, IEqualityComparer<PortableExecutableReference>
CodeLens\LocationComparer.cs (1)
13internal sealed class LocationComparer : IEqualityComparer<Location>
Completion\CompletionService.ProviderManager.cs (1)
26private sealed class ProviderManager : IEqualityComparer<ImmutableHashSet<string>>
Completion\Providers\AbstractKeywordCompletionProvider.cs (1)
76private sealed class Comparer : IEqualityComparer<CompletionItem>
Completion\Providers\AbstractSymbolCompletionProvider.cs (1)
219private sealed class SymbolReferenceEquivalenceComparer : IEqualityComparer<SymbolAndSelectionInfo>
Completion\Providers\UnionCompletionItemComparer.cs (1)
11internal sealed class UnionCompletionItemComparer : IEqualityComparer<CompletionItem>
Diagnostics\Service\DocumentAnalysisExecutor_Helpers.cs (1)
216private sealed class DiagnosticComparer : IEqualityComparer<Diagnostic?>
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (4)
2391private sealed class AssemblyEqualityComparer : IEqualityComparer<IAssemblySymbol?> 4013private sealed class SemanticEditInfoComparer : IEqualityComparer<SemanticEditInfo> 6724private sealed class TypedConstantComparer : IEqualityComparer<TypedConstant> 6743private sealed class NamedArgumentComparer : IEqualityComparer<KeyValuePair<string, TypedConstant>>
NavigateTo\NavigateToSearchResultComparer.cs (1)
19internal sealed class NavigateToSearchResultComparer : IEqualityComparer<INavigateToSearchResult>
ReplacePropertyWithMethods\ReplacePropertyWithMethodsCodeRefactoringProvider.cs (1)
33IEqualityComparer<(IPropertySymbol property, ReferenceLocation location)>
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 (2)
src\Compilers\Core\Portable\FileSystem\PathUtilities.cs (1)
878private class PathComparer : IEqualityComparer<string?>
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal sealed class SegmentedHashSetEqualityComparer<T> : IEqualityComparer<SegmentedHashSet<T>?>
Microsoft.CodeAnalysis.LanguageServer (2)
HostWorkspace\LoadedProject.cs (1)
301private sealed class DocumentFileInfoComparer : IEqualityComparer<DocumentFileInfo>
HostWorkspace\ProjectToLoad.cs (1)
16private sealed class ProjectToLoadComparer : IEqualityComparer<ProjectToLoad>
Microsoft.CodeAnalysis.LanguageServer.Protocol (1)
Handler\Completion\CompletionResultFactory.cs (1)
433private sealed class CommitCharacterArrayComparer : IEqualityComparer<ImmutableArray<CharacterSetModificationRule>>
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (15)
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)
17internal sealed class ReferenceEqualityComparer : IEqualityComparer<object?>, IEqualityComparer
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
14internal sealed class LinkedFileReferenceLocationEqualityComparer : IEqualityComparer<ReferenceLocation>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (1)
15IEqualityComparer<T> where T : SyntaxNode
Microsoft.CodeAnalysis.PublicApiAnalyzers (13)
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)
17internal sealed class ReferenceEqualityComparer : IEqualityComparer<object?>, IEqualityComparer
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
Microsoft.CodeAnalysis.ResxSourceGenerator (14)
AbstractResxGenerator.cs (1)
279private sealed class ImmutableDictionaryEqualityComparer<TKey, TValue> : IEqualityComparer<ImmutableDictionary<TKey, TValue>?>
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)
17internal sealed class ReferenceEqualityComparer : IEqualityComparer<object?>, IEqualityComparer
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
Microsoft.CodeAnalysis.Test.Utilities (7)
Assert\AssertEx.cs (2)
39private class AssertEqualityComparer<T> : IEqualityComparer<T> 880private sealed class LineComparer : IEqualityComparer<string>
Assert\AssertXml.cs (2)
211private class ShallowElementComparer : IEqualityComparer<XElement> 236private class NameAndAttributeComparer : IEqualityComparer<XElement>
InstrumentationChecker.cs (1)
411private class SnippetComparer : IEqualityComparer<string>
Mocks\TestEqualityComparer.cs (1)
13public class TestEqualityComparer<T>(Func<T?, T?, bool>? equals = null, Func<T, int>? getHashCode = null) : IEqualityComparer<T>
SourceGeneration\LambdaComparer.cs (1)
11public sealed class LambdaComparer<T> : IEqualityComparer<T>
Microsoft.CodeAnalysis.Threading.Package (1)
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal sealed class SegmentedHashSetEqualityComparer<T> : IEqualityComparer<SegmentedHashSet<T>?>
Microsoft.CodeAnalysis.UnitTests (20)
Collections\BadHasher.cs (1)
19internal class BadHasher<T> : IEqualityComparer<T>
Collections\EverythingEqual.cs (1)
20internal class EverythingEqual<T> : IEqualityComparer<T>, IEqualityComparer
Collections\Extensions\EnumerableExtensionsTests.cs (2)
69private class SignlessEqualityComparer : IEqualityComparer<int> 162public sealed class Comparer<T>(Func<T, T, bool> equals, Func<T, int> hashCode) : IEqualityComparer<T>
Collections\Extensions\ImmutableArrayExtensionsTests.cs (2)
123private class AbsoluteValueComparer : IEqualityComparer<int> 547public sealed class Comparer<T>(Func<T, T, bool> equals, Func<T, int> hashCode) : IEqualityComparer<T>
Collections\Extensions\ListExtensionsTests.cs (1)
16public sealed class Comparer<T>(Func<T, T, bool> equals, Func<T, int> hashCode) : IEqualityComparer<T>
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\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)
278private 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 (20)
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)
17internal sealed class ReferenceEqualityComparer : IEqualityComparer<object?>, IEqualityComparer
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
14internal sealed class LinkedFileReferenceLocationEqualityComparer : IEqualityComparer<ReferenceLocation>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (1)
15IEqualityComparer<T> where T : SyntaxNode
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.CachingFilePathComparer.cs (1)
26private sealed class CachingFilePathComparer : IEqualityComparer<string>
Microsoft.CodeAnalysis.Workspaces.MSBuild (1)
MSBuild\MSBuildProjectLoader.Worker.AnalyzerReferencePathComparer.cs (1)
15private sealed class AnalyzerReferencePathComparer : IEqualityComparer<AnalyzerReference?>
Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost (7)
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)
14internal 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\StringOrdinalComparer.cs (1)
17internal sealed class StringOrdinalComparer : IEqualityComparer<string>
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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.AI.Evaluation.Reporting.Tests (7)
ScenarioRunResultTests.cs (7)
291private class ChatMessageComparer : IEqualityComparer<ChatMessage> 302private class ChatResponseComparer : IEqualityComparer<ChatResponse> 315private class InterpretationComparer : IEqualityComparer<EvaluationMetricInterpretation> 326private class ContextComparer : IEqualityComparer<EvaluationContext> 354private class AIContentComparer : IEqualityComparer<AIContent> 377private class DiagnosticComparer : IEqualityComparer<EvaluationDiagnostic> 388private class ChatTurnDetailsComparer : IEqualityComparer<ChatTurnDetails>
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.Primitives (1)
StringSegmentComparer.cs (1)
12public class StringSegmentComparer : IComparer<StringSegment>, IEqualityComparer<StringSegment>
Microsoft.Extensions.ServiceDiscovery.Dns.Tests (1)
tests\Shared\Logging\LogValuesAssert.cs (1)
57private sealed class LogValueComparer : IEqualityComparer<KeyValuePair<string, object>>
Microsoft.Extensions.Telemetry (1)
Buffering\StringifyComprarer.cs (1)
9internal sealed class StringifyComprarer : IEqualityComparer<KeyValuePair<string, object?>>
Microsoft.Extensions.Validation.ValidationsGenerator (2)
Extensions\IncrementalValuesProviderExtensions.cs (1)
66private sealed class ImmutableArrayEqualityComparer<T> : IEqualityComparer<ImmutableArray<T>>
Models\ValidatableTypeComparer.cs (1)
9internal sealed class ValidatableTypeComparer : IEqualityComparer<ValidatableType?>
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 sealed 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)
94private class UriComparer : IEqualityComparer<Uri>
PresentationFramework (1)
System\Windows\Controls\Primitives\Selector.cs (1)
2943private class ItemInfoEqualityComparer : IEqualityComparer<ItemInfo>
ReachFramework (1)
src\Microsoft.DotNet.Wpf\src\Shared\MS\Internal\UriComparer.cs (1)
25internal class UriComparer : IEqualityComparer<Uri>
Roslyn.Diagnostics.Analyzers (15)
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)
17internal sealed class ReferenceEqualityComparer : IEqualityComparer<object?>, IEqualityComparer
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
14internal sealed class LinkedFileReferenceLocationEqualityComparer : IEqualityComparer<ReferenceLocation>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (1)
15IEqualityComparer<T> where T : SyntaxNode
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\TypeNameComparer.cs (1)
9internal 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 (2)
System\Text\Json\Document\JsonDocument.PropertyNameSet.cs (1)
144private sealed class PropertyNameComparer : IEqualityComparer<ReadOnlyMemory<byte>>
System\Text\Json\Serialization\JsonSerializerOptions.Caching.cs (1)
482private 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)
231private class 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>
Test.Utilities (12)
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\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
Text.Analyzers (15)
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)
17internal sealed class ReferenceEqualityComparer : IEqualityComparer<object?>, IEqualityComparer
src\Dependencies\Collections\Internal\SegmentedHashSetEqualityComparer`1.cs (1)
19internal 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\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
13private sealed class SimpleNameAssemblyComparer : IEqualityComparer<IAssemblySymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
41internal sealed partial class SymbolEquivalenceComparer : IEqualityComparer<ISymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
18bool distinguishRefFromOut) : IEqualityComparer<IParameterSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13internal sealed class SignatureTypeSymbolEquivalenceComparer(SymbolEquivalenceComparer symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
14internal sealed class LinkedFileReferenceLocationEqualityComparer : IEqualityComparer<ReferenceLocation>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (1)
15IEqualityComparer<T> where T : SyntaxNode
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
4356 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)
GenerateDocumentationAndConfigFiles (152)
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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
56private readonly IEqualityComparer<TKey>? _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
63private readonly IEqualityComparer<T>? _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentDictionary.cs (5)
29private PooledConcurrentDictionary(ObjectPool<PooledConcurrentDictionary<K, V>>? pool, IEqualityComparer<K> keyComparer) 52private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledConcurrentDictionary<K, V>>> s_poolInstancesByComparer = new(); 55public static ObjectPool<PooledConcurrentDictionary<K, V>> CreatePool(IEqualityComparer<K>? keyComparer = null) 66public static PooledConcurrentDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 76public static PooledConcurrentDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentSet.cs (2)
33public static PooledConcurrentSet<T> GetInstance(IEqualityComparer<T>? comparer = null) 39public static PooledConcurrentSet<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledDictionary.cs (4)
20Func<KeyValuePair<K, V>, TKey> keySelector, Func<KeyValuePair<K, V>, TValue> elementSelector, IEqualityComparer<TKey> comparer) 38private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledDictionary<K, V>>> s_poolInstancesByComparer 41public static PooledDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 51public static PooledDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\RoslynHashCode.cs (1)
316public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\RoslynAnalyzers\Utilities\Compiler\SmallDictionary.cs (3)
41public readonly IEqualityComparer<K> Comparer; 48public SmallDictionary(IEqualityComparer<K> comparer) 53public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
16public static readonly IEqualityComparer<ReferenceLocation> Instance = new LinkedFileReferenceLocationEqualityComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (2)
43bool IEqualityComparer<T>.Equals(T? x, T? y) 46int IEqualityComparer<T>.GetHashCode(T obj)
ILLink.RoslynAnalyzer (1)
ImmutableArrayOperations.cs (1)
13where TComp : IEqualityComparer<T>
Metrics (149)
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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentDictionary.cs (5)
29private PooledConcurrentDictionary(ObjectPool<PooledConcurrentDictionary<K, V>>? pool, IEqualityComparer<K> keyComparer) 52private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledConcurrentDictionary<K, V>>> s_poolInstancesByComparer = new(); 55public static ObjectPool<PooledConcurrentDictionary<K, V>> CreatePool(IEqualityComparer<K>? keyComparer = null) 66public static PooledConcurrentDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 76public static PooledConcurrentDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentSet.cs (2)
33public static PooledConcurrentSet<T> GetInstance(IEqualityComparer<T>? comparer = null) 39public static PooledConcurrentSet<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledDictionary.cs (4)
20Func<KeyValuePair<K, V>, TKey> keySelector, Func<KeyValuePair<K, V>, TValue> elementSelector, IEqualityComparer<TKey> comparer) 38private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledDictionary<K, V>>> s_poolInstancesByComparer 41public static PooledDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 51public static PooledDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\RoslynHashCode.cs (1)
316public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\RoslynAnalyzers\Utilities\Compiler\SmallDictionary.cs (3)
41public readonly IEqualityComparer<K> Comparer; 48public SmallDictionary(IEqualityComparer<K> comparer) 53public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
Metrics.Legacy (149)
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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentDictionary.cs (5)
29private PooledConcurrentDictionary(ObjectPool<PooledConcurrentDictionary<K, V>>? pool, IEqualityComparer<K> keyComparer) 52private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledConcurrentDictionary<K, V>>> s_poolInstancesByComparer = new(); 55public static ObjectPool<PooledConcurrentDictionary<K, V>> CreatePool(IEqualityComparer<K>? keyComparer = null) 66public static PooledConcurrentDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 76public static PooledConcurrentDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentSet.cs (2)
33public static PooledConcurrentSet<T> GetInstance(IEqualityComparer<T>? comparer = null) 39public static PooledConcurrentSet<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledDictionary.cs (4)
20Func<KeyValuePair<K, V>, TKey> keySelector, Func<KeyValuePair<K, V>, TValue> elementSelector, IEqualityComparer<TKey> comparer) 38private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledDictionary<K, V>>> s_poolInstancesByComparer 41public static PooledDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 51public static PooledDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\RoslynHashCode.cs (1)
316public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\RoslynAnalyzers\Utilities\Compiler\SmallDictionary.cs (3)
41public readonly IEqualityComparer<K> Comparer; 48public SmallDictionary(IEqualityComparer<K> comparer) 53public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
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.OpenApi.SourceGenerators (2)
src\Shared\HashCode.cs (1)
307public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\Shared\RoslynUtils\IncrementalValuesProviderExtensions.cs (1)
14IEqualityComparer<TSource> comparer)
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 (40)
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)
24public RetrievableValuedEntryHashSet(IEqualityComparer<string> comparer) 34public 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)
347internal static IEqualityComparer<ProjectItemInstance> EqualityComparer 2384public static IEqualityComparer<ProjectItemInstance> Default
Logging\ParallelLogger\ParallelConsoleLogger.cs (1)
1691internal void AddEventStarted(string projectTargetNames, BuildEventContext buildEventContext, DateTime eventTimeStamp, IEqualityComparer<BuildEventContext> comparer)
TranslatorHelpers.cs (6)
89IEqualityComparer<string> comparer, 98IEqualityComparer<string> comparer) 112IEqualityComparer<string> stringComparer, 128IEqualityComparer<string> comparer) 144IEqualityComparer<string> stringComparer, 182IEqualityComparer<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 (54)
BinaryTranslator.cs (8)
581public void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer) 603public void TranslateDictionary(ref IDictionary<string, string> dictionary, IEqualityComparer<string> comparer, ref Dictionary<string, string> additionalEntries, HashSet<string> additionalEntriesKeys) 690public void TranslateDictionary<T>(ref Dictionary<string, T> dictionary, IEqualityComparer<string> comparer, ObjectTranslator<T> objectTranslator) 800public void WithInterning(IEqualityComparer<string> comparer, int initialCapacity, Action<ITranslator> internBlock) 1369public void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer) 1386public void TranslateDictionary(ref IDictionary<string, string> dictionary, IEqualityComparer<string> comparer, ref Dictionary<string, string> additionalEntries, HashSet<string> additionalEntriesKeys) 1490public void TranslateDictionary<T>(ref Dictionary<string, T> dictionary, IEqualityComparer<string> comparer, ObjectTranslator<T> objectTranslator) 1603public void WithInterning(IEqualityComparer<string> comparer, int initialCapacity, Action<ITranslator> internBlock)
BuildCheck\EnumerableExtensions.cs (3)
40public static HashSet<T> NewHashSet<T>(IEqualityComparer<T> equalityComparer) 43public static HashSet<T> NewHashSet<T>(int capacity, IEqualityComparer<T>? equalityComparer) 52public 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)
InterningWriteTranslator.cs (1)
65internal void Setup(IEqualityComparer<string> comparer, int initialCapacity)
ITranslator.cs (4)
308void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer); 321void TranslateDictionary(ref IDictionary<string, string> dictionary, IEqualityComparer<string> comparer, ref Dictionary<string, string> additionalEntries, HashSet<string> additionalEntriesKeys); 336void TranslateDictionary<T>(ref Dictionary<string, T> dictionary, IEqualityComparer<string> comparer, ObjectTranslator<T> objectTranslator) 389void WithInterning(IEqualityComparer<string> comparer, int initialCapacity, Action<ITranslator> internBlock);
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 (15)
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 (6)
89IEqualityComparer<string> comparer, 98IEqualityComparer<string> comparer) 112IEqualityComparer<string> stringComparer, 128IEqualityComparer<string> comparer) 144IEqualityComparer<string> stringComparer, 182IEqualityComparer<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 (185)
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\SmallDictionary.cs (3)
39public readonly IEqualityComparer<K> Comparer; 46public SmallDictionary(IEqualityComparer<K> comparer) 51public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
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)
249private static Dictionary<K, V> CreateDictionary<K, V>(IReadOnlyDictionary<K, V> dictionary, IEqualityComparer<K>? comparer) 261private static IReadOnlyDictionary<K, V> AddRange<K, V>(IReadOnlyDictionary<K, V> previous, IReadOnlyDictionary<K, V> current, IEqualityComparer<K>? comparer = null) 1461public 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)
22bool IEqualityComparer<object>.Equals(object? a, object? b) 25int IEqualityComparer<object>.GetHashCode(object s)
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\StringOrdinalComparer.cs (2)
25bool IEqualityComparer<string>.Equals(string? a, string? b) 36int IEqualityComparer<string>.GetHashCode(string s)
PEWriter\MetadataWriter.cs (3)
4313public InstanceAndStructuralReferenceIndex(MetadataWriter writer, IEqualityComparer<T> structuralComparer, int lastRowId = 0) 4349bool IEqualityComparer<(ImmutableArray<byte>, bool)>.Equals((ImmutableArray<byte>, bool) x, (ImmutableArray<byte>, bool) y) 4354int 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)
184public Builder ToBuilder(string? stepName, bool stepTrackingEnabled, IEqualityComparer<T>? equalityComparer = null, int? tableCapacity = null) 187public NodeStateTable<T> CreateCachedTableWithUpdatedSteps<TInput>(NodeStateTable<TInput> inputTable, string? stepName, IEqualityComparer<T>? equalityComparer) 233private readonly IEqualityComparer<T> _equalityComparer; 249IEqualityComparer<T>? equalityComparer, 606public 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\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
56private readonly IEqualityComparer<TKey>? _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
63private readonly IEqualityComparer<T>? _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
Microsoft.CodeAnalysis.Analyzers (152)
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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentDictionary.cs (5)
29private PooledConcurrentDictionary(ObjectPool<PooledConcurrentDictionary<K, V>>? pool, IEqualityComparer<K> keyComparer) 52private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledConcurrentDictionary<K, V>>> s_poolInstancesByComparer = new(); 55public static ObjectPool<PooledConcurrentDictionary<K, V>> CreatePool(IEqualityComparer<K>? keyComparer = null) 66public static PooledConcurrentDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 76public static PooledConcurrentDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentSet.cs (2)
33public static PooledConcurrentSet<T> GetInstance(IEqualityComparer<T>? comparer = null) 39public static PooledConcurrentSet<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledDictionary.cs (4)
20Func<KeyValuePair<K, V>, TKey> keySelector, Func<KeyValuePair<K, V>, TValue> elementSelector, IEqualityComparer<TKey> comparer) 38private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledDictionary<K, V>>> s_poolInstancesByComparer 41public static PooledDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 51public static PooledDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\RoslynHashCode.cs (1)
316public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\RoslynAnalyzers\Utilities\Compiler\SmallDictionary.cs (3)
41public readonly IEqualityComparer<K> Comparer; 48public SmallDictionary(IEqualityComparer<K> comparer) 53public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
16public static readonly IEqualityComparer<ReferenceLocation> Instance = new LinkedFileReferenceLocationEqualityComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (2)
43bool IEqualityComparer<T>.Equals(T? x, T? y) 46int IEqualityComparer<T>.GetHashCode(T obj)
Microsoft.CodeAnalysis.AnalyzerUtilities (149)
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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentDictionary.cs (5)
29private PooledConcurrentDictionary(ObjectPool<PooledConcurrentDictionary<K, V>>? pool, IEqualityComparer<K> keyComparer) 52private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledConcurrentDictionary<K, V>>> s_poolInstancesByComparer = new(); 55public static ObjectPool<PooledConcurrentDictionary<K, V>> CreatePool(IEqualityComparer<K>? keyComparer = null) 66public static PooledConcurrentDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 76public static PooledConcurrentDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentSet.cs (2)
33public static PooledConcurrentSet<T> GetInstance(IEqualityComparer<T>? comparer = null) 39public static PooledConcurrentSet<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledDictionary.cs (4)
20Func<KeyValuePair<K, V>, TKey> keySelector, Func<KeyValuePair<K, V>, TValue> elementSelector, IEqualityComparer<TKey> comparer) 38private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledDictionary<K, V>>> s_poolInstancesByComparer 41public static PooledDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 51public static PooledDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\RoslynHashCode.cs (1)
316public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\RoslynAnalyzers\Utilities\Compiler\SmallDictionary.cs (3)
41public readonly IEqualityComparer<K> Comparer; 48public SmallDictionary(IEqualityComparer<K> comparer) 53public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
Microsoft.CodeAnalysis.BannedApiAnalyzers (152)
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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentDictionary.cs (5)
29private PooledConcurrentDictionary(ObjectPool<PooledConcurrentDictionary<K, V>>? pool, IEqualityComparer<K> keyComparer) 52private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledConcurrentDictionary<K, V>>> s_poolInstancesByComparer = new(); 55public static ObjectPool<PooledConcurrentDictionary<K, V>> CreatePool(IEqualityComparer<K>? keyComparer = null) 66public static PooledConcurrentDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 76public static PooledConcurrentDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentSet.cs (2)
33public static PooledConcurrentSet<T> GetInstance(IEqualityComparer<T>? comparer = null) 39public static PooledConcurrentSet<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledDictionary.cs (4)
20Func<KeyValuePair<K, V>, TKey> keySelector, Func<KeyValuePair<K, V>, TValue> elementSelector, IEqualityComparer<TKey> comparer) 38private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledDictionary<K, V>>> s_poolInstancesByComparer 41public static PooledDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 51public static PooledDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\RoslynHashCode.cs (1)
316public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\RoslynAnalyzers\Utilities\Compiler\SmallDictionary.cs (3)
41public readonly IEqualityComparer<K> Comparer; 48public SmallDictionary(IEqualityComparer<K> comparer) 53public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
16public static readonly IEqualityComparer<ReferenceLocation> Instance = new LinkedFileReferenceLocationEqualityComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (2)
43bool IEqualityComparer<T>.Equals(T? x, T? y) 46int IEqualityComparer<T>.GetHashCode(T obj)
Microsoft.CodeAnalysis.CodeStyle (136)
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\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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? 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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
Microsoft.CodeAnalysis.CodeStyle.Fixes (3)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
16public static readonly IEqualityComparer<ReferenceLocation> Instance = new LinkedFileReferenceLocationEqualityComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (2)
43bool IEqualityComparer<T>.Equals(T? x, T? y) 46int IEqualityComparer<T>.GetHashCode(T obj)
Microsoft.CodeAnalysis.Collections.Package (105)
Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
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)
166private 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)
631static 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)
1377public IIncrementalGeneratorNode<T> WithComparer(IEqualityComparer<T> comparer) => this;
Microsoft.CodeAnalysis.Debugging.Package (6)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
Microsoft.CodeAnalysis.EditorFeatures.Test.Utilities (1)
Completion\AbstractCompletionProviderTests.cs (1)
427protected virtual IEqualityComparer<string> GetStringComparer()
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (1)
Utilities\SymbolEquivalenceComparerTests.cs (1)
1776public static readonly IEqualityComparer<IAssemblySymbol> Instance = new AssemblySymbolIdentityComparer();
Microsoft.CodeAnalysis.ExpressionEvaluator.ResultProvider.Utilities (2)
ResultProviderTestBase.cs (2)
543bool IEqualityComparer<DkmCustomUIVisualizerInfo>.Equals(DkmCustomUIVisualizerInfo x, DkmCustomUIVisualizerInfo y) 559int IEqualityComparer<DkmCustomUIVisualizerInfo>.GetHashCode(DkmCustomUIVisualizerInfo obj)
Microsoft.CodeAnalysis.Extensions.Package (110)
src\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
Microsoft.CodeAnalysis.Features (18)
AddImport\AbstractAddImportFeatureService.cs (2)
435bool IEqualityComparer<PortableExecutableReference>.Equals(PortableExecutableReference? x, PortableExecutableReference? y) 448int IEqualityComparer<PortableExecutableReference>.GetHashCode(PortableExecutableReference obj)
Completion\CompletionService.ProviderManager.cs (2)
223bool IEqualityComparer<ImmutableHashSet<string>>.Equals([AllowNull] ImmutableHashSet<string> x, [AllowNull] ImmutableHashSet<string> y) 246int IEqualityComparer<ImmutableHashSet<string>>.GetHashCode([DisallowNull] ImmutableHashSet<string> obj)
Completion\Providers\ImportCompletionProvider\ExtensionMethodImportCompletionCacheEntry.cs (1)
33public sealed 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)
2393public static readonly IEqualityComparer<IAssemblySymbol?> Instance = new AssemblyEqualityComparer(); 2458=> (exact ? s_exactSymbolEqualityComparer : (IEqualityComparer<ITypeSymbol?>)s_runtimeSymbolEqualityComparer.SignatureTypeEquivalenceComparer).Equals(oldType, newType); 4017private static readonly IEqualityComparer<SymbolKey> s_symbolKeyComparer = SymbolKey.GetComparer();
EditAndContinue\EditSession.cs (1)
785var 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();
Shared\Extensions\DocumentExtensions.cs (1)
54IEqualityComparer<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 (109)
src\Compilers\Core\Portable\FileSystem\PathUtilities.cs (1)
876public static readonly IEqualityComparer<string> Comparer = new PathComparer();
src\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
Microsoft.CodeAnalysis.LanguageServer (3)
HostWorkspace\LoadedProject.cs (2)
251void UpdateProjectSystemProjectCollection<T>(IEnumerable<T> loadedCollection, IEnumerable<T>? oldLoadedCollection, IEqualityComparer<T> comparer, Action<T> addItem, Action<T> removeItem, string logMessage) 303public static IEqualityComparer<DocumentFileInfo> Instance = new DocumentFileInfoComparer();
HostWorkspace\ProjectToLoad.cs (1)
14public static IEqualityComparer<ProjectToLoad> Comparer = new ProjectToLoadComparer();
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (152)
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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentDictionary.cs (5)
29private PooledConcurrentDictionary(ObjectPool<PooledConcurrentDictionary<K, V>>? pool, IEqualityComparer<K> keyComparer) 52private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledConcurrentDictionary<K, V>>> s_poolInstancesByComparer = new(); 55public static ObjectPool<PooledConcurrentDictionary<K, V>> CreatePool(IEqualityComparer<K>? keyComparer = null) 66public static PooledConcurrentDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 76public static PooledConcurrentDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentSet.cs (2)
33public static PooledConcurrentSet<T> GetInstance(IEqualityComparer<T>? comparer = null) 39public static PooledConcurrentSet<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledDictionary.cs (4)
20Func<KeyValuePair<K, V>, TKey> keySelector, Func<KeyValuePair<K, V>, TValue> elementSelector, IEqualityComparer<TKey> comparer) 38private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledDictionary<K, V>>> s_poolInstancesByComparer 41public static PooledDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 51public static PooledDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\RoslynHashCode.cs (1)
316public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\RoslynAnalyzers\Utilities\Compiler\SmallDictionary.cs (3)
41public readonly IEqualityComparer<K> Comparer; 48public SmallDictionary(IEqualityComparer<K> comparer) 53public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
16public static readonly IEqualityComparer<ReferenceLocation> Instance = new LinkedFileReferenceLocationEqualityComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (2)
43bool IEqualityComparer<T>.Equals(T? x, T? y) 46int IEqualityComparer<T>.GetHashCode(T obj)
Microsoft.CodeAnalysis.PooledObjects.Package (6)
ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
Microsoft.CodeAnalysis.PublicApiAnalyzers (149)
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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentDictionary.cs (5)
29private PooledConcurrentDictionary(ObjectPool<PooledConcurrentDictionary<K, V>>? pool, IEqualityComparer<K> keyComparer) 52private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledConcurrentDictionary<K, V>>> s_poolInstancesByComparer = new(); 55public static ObjectPool<PooledConcurrentDictionary<K, V>> CreatePool(IEqualityComparer<K>? keyComparer = null) 66public static PooledConcurrentDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 76public static PooledConcurrentDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentSet.cs (2)
33public static PooledConcurrentSet<T> GetInstance(IEqualityComparer<T>? comparer = null) 39public static PooledConcurrentSet<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledDictionary.cs (4)
20Func<KeyValuePair<K, V>, TKey> keySelector, Func<KeyValuePair<K, V>, TValue> elementSelector, IEqualityComparer<TKey> comparer) 38private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledDictionary<K, V>>> s_poolInstancesByComparer 41public static PooledDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 51public static PooledDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\RoslynHashCode.cs (1)
316public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\RoslynAnalyzers\Utilities\Compiler\SmallDictionary.cs (3)
41public readonly IEqualityComparer<K> Comparer; 48public SmallDictionary(IEqualityComparer<K> comparer) 53public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
Microsoft.CodeAnalysis.ResxSourceGenerator (149)
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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentDictionary.cs (5)
29private PooledConcurrentDictionary(ObjectPool<PooledConcurrentDictionary<K, V>>? pool, IEqualityComparer<K> keyComparer) 52private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledConcurrentDictionary<K, V>>> s_poolInstancesByComparer = new(); 55public static ObjectPool<PooledConcurrentDictionary<K, V>> CreatePool(IEqualityComparer<K>? keyComparer = null) 66public static PooledConcurrentDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 76public static PooledConcurrentDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentSet.cs (2)
33public static PooledConcurrentSet<T> GetInstance(IEqualityComparer<T>? comparer = null) 39public static PooledConcurrentSet<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledDictionary.cs (4)
20Func<KeyValuePair<K, V>, TKey> keySelector, Func<KeyValuePair<K, V>, TValue> elementSelector, IEqualityComparer<TKey> comparer) 38private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledDictionary<K, V>>> s_poolInstancesByComparer 41public static PooledDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 51public static PooledDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\RoslynHashCode.cs (1)
316public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\RoslynAnalyzers\Utilities\Compiler\SmallDictionary.cs (3)
41public readonly IEqualityComparer<K> Comparer; 48public SmallDictionary(IEqualityComparer<K> comparer) 53public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
Microsoft.CodeAnalysis.Test.Utilities (24)
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)
139private static bool CheckEqual(XElement expectedRoot, XElement actualRoot, IEqualityComparer<XElement> shallowComparer, out Tuple<XElement, XElement> firstMismatch) 213public static readonly IEqualityComparer<XElement> Instance = new ShallowElementComparer(); 238public 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,
TestHelpers.cs (1)
31IEqualityComparer<K> comparer,
Microsoft.CodeAnalysis.Threading.Package (108)
AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
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\Extensions\ImmutableArrayExtensionsTests.cs (3)
94IEqualityComparer<int> comparer = new AbsoluteValueComparer(); 127bool IEqualityComparer<int>.Equals(int x, int y) 132int IEqualityComparer<int>.GetHashCode(int x)
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\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 (14)
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\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 (141)
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();
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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? 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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
16public static readonly IEqualityComparer<ReferenceLocation> Instance = new LinkedFileReferenceLocationEqualityComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (2)
43bool IEqualityComparer<T>.Equals(T? x, T? y) 46int IEqualityComparer<T>.GetHashCode(T obj)
Workspace\Solution\SolutionState.cs (1)
38public static readonly IEqualityComparer<string> FilePathComparer = CachingFilePathComparer.Instance;
Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost (120)
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)
22bool IEqualityComparer<object>.Equals(object? a, object? b) 25int IEqualityComparer<object>.GetHashCode(object s)
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\StringOrdinalComparer.cs (2)
25bool IEqualityComparer<string>.Equals(string? a, string? b) 36int IEqualityComparer<string>.GetHashCode(string s)
src\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
56private readonly IEqualityComparer<TKey>? _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
63private readonly IEqualityComparer<T>? _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public 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.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.AI.Abstractions (7)
Functions\AIFunctionArguments.cs (7)
35/// <remarks>The <see cref="IEqualityComparer{T}"/> is ordinal by default.</remarks> 53/// The <see cref="IEqualityComparer{T}"/> is ordinal by default. 61/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> to use for key comparisons.</param> 62public AIFunctionArguments(IEqualityComparer<string>? comparer) 72/// <param name="comparer">The <see cref="IEqualityComparer{T}"/> to be used.</param> 75/// <see cref="Dictionary{TKey, TValue}"/> with the same <see cref="IEqualityComparer{T}"/> or if 80public AIFunctionArguments(IDictionary<string, object?>? arguments, IEqualityComparer<string>? 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)
152public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 171public static ObjectPool<HashSet<T>> CreateHashSetPool<T>(IEqualityComparer<T>? comparer = null, int maxCapacity = DefaultCapacity)
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)
152public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 171public 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)
152public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 171public 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)
152public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 171public 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)
152public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 171public static ObjectPool<HashSet<T>> CreateHashSetPool<T>(IEqualityComparer<T>? comparer = null, int maxCapacity = DefaultCapacity)
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)
152public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 171public 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)
152public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 171public static ObjectPool<HashSet<T>> CreateHashSetPool<T>(IEqualityComparer<T>? comparer = null, int maxCapacity = DefaultCapacity)
Microsoft.Extensions.Validation.ValidationsGenerator (2)
Extensions\IncrementalValuesProviderExtensions.cs (1)
13public static IncrementalValuesProvider<TSource> Distinct<TSource>(this IncrementalValuesProvider<TSource> source, IEqualityComparer<TSource> comparer)
src\Shared\HashCode.cs (1)
307public void Add<T>(T value, IEqualityComparer<T>? comparer)
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 (15)
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 (6)
89IEqualityComparer<string> comparer, 98IEqualityComparer<string> comparer) 112IEqualityComparer<string> stringComparer, 128IEqualityComparer<string> comparer) 144IEqualityComparer<string> stringComparer, 182IEqualityComparer<string> comparer)
MSBuildTaskHost (34)
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 (8)
581public void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer) 603public void TranslateDictionary(ref IDictionary<string, string> dictionary, IEqualityComparer<string> comparer, ref Dictionary<string, string> additionalEntries, HashSet<string> additionalEntriesKeys) 690public void TranslateDictionary<T>(ref Dictionary<string, T> dictionary, IEqualityComparer<string> comparer, ObjectTranslator<T> objectTranslator) 800public void WithInterning(IEqualityComparer<string> comparer, int initialCapacity, Action<ITranslator> internBlock) 1369public void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer) 1386public void TranslateDictionary(ref IDictionary<string, string> dictionary, IEqualityComparer<string> comparer, ref Dictionary<string, string> additionalEntries, HashSet<string> additionalEntriesKeys) 1490public void TranslateDictionary<T>(ref Dictionary<string, T> dictionary, IEqualityComparer<string> comparer, ObjectTranslator<T> objectTranslator) 1603public void WithInterning(IEqualityComparer<string> comparer, int initialCapacity, Action<ITranslator> internBlock)
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)
InterningWriteTranslator.cs (1)
65internal void Setup(IEqualityComparer<string> comparer, int initialCapacity)
ITranslator.cs (4)
308void TranslateDictionary(ref Dictionary<string, string> dictionary, IEqualityComparer<string> comparer); 321void TranslateDictionary(ref IDictionary<string, string> dictionary, IEqualityComparer<string> comparer, ref Dictionary<string, string> additionalEntries, HashSet<string> additionalEntriesKeys); 336void TranslateDictionary<T>(ref Dictionary<string, T> dictionary, IEqualityComparer<string> comparer, ObjectTranslator<T> objectTranslator) 389void WithInterning(IEqualityComparer<string> comparer, int initialCapacity, Action<ITranslator> internBlock);
TranslatorHelpers.cs (5)
89IEqualityComparer<string> comparer, 98IEqualityComparer<string> comparer) 112IEqualityComparer<string> stringComparer, 128IEqualityComparer<string> comparer) 144IEqualityComparer<string> stringComparer,
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)
239public TwoWayDictionary(IEqualityComparer<TKey> keyComparer): this (keyComparer, null) 244public TwoWayDictionary(IEqualityComparer<TValue> valueComparer) : this (null, valueComparer) 249public TwoWayDictionary(IEqualityComparer<TKey> keyComparer, IEqualityComparer<TValue> valueComparer)
PresentationFramework (6)
MS\Internal\Data\CommitManager.cs (1)
162public Set(IEqualityComparer<T> comparer)
System\Windows\Controls\Primitives\Selector.cs (5)
2665internal InternalSelectedItemsStorage(int capacity, IEqualityComparer<ItemInfo> equalityComparer) 2672internal InternalSelectedItemsStorage(InternalSelectedItemsStorage collection, IEqualityComparer<ItemInfo> equalityComparer=null) 2898private IEqualityComparer<ItemInfo> _equalityComparer; 2950bool IEqualityComparer<ItemInfo>.Equals(ItemInfo x, ItemInfo y) 2957int IEqualityComparer<ItemInfo>.GetHashCode(ItemInfo x)
Roslyn.Diagnostics.Analyzers (152)
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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentDictionary.cs (5)
29private PooledConcurrentDictionary(ObjectPool<PooledConcurrentDictionary<K, V>>? pool, IEqualityComparer<K> keyComparer) 52private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledConcurrentDictionary<K, V>>> s_poolInstancesByComparer = new(); 55public static ObjectPool<PooledConcurrentDictionary<K, V>> CreatePool(IEqualityComparer<K>? keyComparer = null) 66public static PooledConcurrentDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 76public static PooledConcurrentDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentSet.cs (2)
33public static PooledConcurrentSet<T> GetInstance(IEqualityComparer<T>? comparer = null) 39public static PooledConcurrentSet<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledDictionary.cs (4)
20Func<KeyValuePair<K, V>, TKey> keySelector, Func<KeyValuePair<K, V>, TValue> elementSelector, IEqualityComparer<TKey> comparer) 38private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledDictionary<K, V>>> s_poolInstancesByComparer 41public static PooledDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 51public static PooledDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\RoslynHashCode.cs (1)
316public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\RoslynAnalyzers\Utilities\Compiler\SmallDictionary.cs (3)
41public readonly IEqualityComparer<K> Comparer; 48public SmallDictionary(IEqualityComparer<K> comparer) 53public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
16public static readonly IEqualityComparer<ReferenceLocation> Instance = new LinkedFileReferenceLocationEqualityComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (2)
43bool IEqualityComparer<T>.Equals(T? x, T? y) 46int IEqualityComparer<T>.GetHashCode(T obj)
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)
152public static ObjectPool<Dictionary<TKey, TValue>> CreateDictionaryPool<TKey, TValue>(IEqualityComparer<TKey>? comparer = null, int maxCapacity = DefaultCapacity) 171public static ObjectPool<HashSet<T>> CreateHashSetPool<T>(IEqualityComparer<T>? comparer = null, int maxCapacity = DefaultCapacity)
System.Collections (32)
System\Collections\Generic\OrderedDictionary.cs (22)
39private IEqualityComparer<TKey>? _comparer; 80/// has the default initial capacity, and uses the specified <see cref="IEqualityComparer{TKey}"/>. 83/// The <see cref="IEqualityComparer{TKey}"/> implementation to use when comparing keys, 86public OrderedDictionary(IEqualityComparer<TKey>? comparer) : this(0, comparer) 92/// has the specified initial capacity, and uses the specified <see cref="IEqualityComparer{TKey}"/>. 96/// The <see cref="IEqualityComparer{TKey}"/> implementation to use when comparing keys, 100public OrderedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 126NonRandomizedStringEqualityComparer.GetStringComparer(_comparer) is IEqualityComparer<string> stringComparer) 128_comparer = (IEqualityComparer<TKey>)stringComparer; 154/// the specified <see cref="IDictionary{TKey, TValue}"/> and uses the specified <see cref="IEqualityComparer{TKey}"/>. 161/// The <see cref="IEqualityComparer{TKey}"/> implementation to use when comparing keys, 165public OrderedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) : 188/// from the specified <see cref="IEnumerable{T}"/> and uses the specified <see cref="IEqualityComparer{TKey}"/>. 195/// The <see cref="IEqualityComparer{TKey}"/> implementation to use when comparing keys, 199public OrderedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) : 219/// <summary>Gets the <see cref="IEqualityComparer{TKey}"/> that is used to determine equality of keys for the dictionary.</summary> 220public IEqualityComparer<TKey> Comparer 224IEqualityComparer<TKey>? comparer = _comparer; 230(comparer as NonRandomizedStringEqualityComparer)?.GetUnderlyingEqualityComparer() is IEqualityComparer<TKey> ec) 625IEqualityComparer<TKey>? comparer = _comparer; 1113IEqualityComparer<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; 923IEqualityComparer<TKey>? comparer = tables._comparer; 1093/// Gets the <see cref="IEqualityComparer{TKey}" /> 1097/// The <see cref="IEqualityComparer{TKey}" /> generic interface implementation 1103/// whether keys are equal. You can specify an implementation of the <see cref="IEqualityComparer{TKey}" /> 1107public IEqualityComparer<TKey> Comparer 1111IEqualityComparer<TKey>? comparer = _tables._comparer; 1115if ((comparer as NonRandomizedStringEqualityComparer)?.GetUnderlyingEqualityComparer() is IEqualityComparer<string> ec) 1117return (IEqualityComparer<TKey>)ec; 1196IEqualityComparer<TKey>? comparer = tables._comparer; 1238IEqualityComparer<TKey>? comparer = tables._comparer; 1270IEqualityComparer<TKey>? comparer = tables._comparer; 1322IEqualityComparer<TKey>? comparer = tables._comparer; 1395IEqualityComparer<TKey>? comparer = tables._comparer; 1461IEqualityComparer<TKey>? comparer = tables._comparer; 1960IEqualityComparer<TKey>? upgradeComparer = null; 1963upgradeComparer = (IEqualityComparer<TKey>)nrsec.GetUnderlyingEqualityComparer(); 2266internal readonly IEqualityComparer<TKey>? _comparer; 2276internal Tables(VolatileNode[] buckets, object[] locks, int[] countPerLock, IEqualityComparer<TKey>? comparer)
System.Collections.Immutable (221)
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 (12)
42public static FrozenDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? comparer, params ReadOnlySpan<KeyValuePair<TKey, TValue>> source) 73public static FrozenDictionary<TKey, TValue> ToFrozenDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> source, IEqualityComparer<TKey>? comparer = null) 83/// <param name="comparer">An <see cref="IEqualityComparer{TKey}"/> to compare keys.</param> 86this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer = null) 97/// <param name="comparer">An <see cref="IEqualityComparer{TKey}"/> to compare keys.</param> 100this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey>? comparer = null) 115IEnumerable<KeyValuePair<TKey, TValue>> source, IEqualityComparer<TKey>? comparer, 162IEqualityComparer<TKey> comparer = source.Comparer; 207IEqualityComparer<string> stringComparer = (IEqualityComparer<string>)(object)comparer; 314private protected FrozenDictionary(IEqualityComparer<TKey> comparer) => Comparer = comparer; 320public 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 (18)
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 94public static ImmutableDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) where TKey : notnull 108/// In contrast to <see cref="CreateRange{TKey, TValue}(IEqualityComparer{TKey}?, IEnumerable{KeyValuePair{TKey, TValue}})"/>, 113IEqualityComparer<TKey>? keyComparer, 129public static ImmutableDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) where TKey : notnull 152public static ImmutableDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) where TKey : notnull 165public static ImmutableDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer) where TKey : notnull 182public 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 215public 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 242public static ImmutableDictionary<TKey, TSource> ToImmutableDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer) where TKey : notnull 271public static ImmutableDictionary<TKey, TValue> ToImmutableDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> source, IEqualityComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer) where TKey : notnull 291public 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)
152public IEqualityComparer<TKey> KeyComparer 160public IEqualityComparer<TValue> ValueComparer 432public ImmutableDictionary<TKey, TValue> WithComparers(IEqualityComparer<TKey>? keyComparer, IEqualityComparer<TValue>? valueComparer) 464public ImmutableDictionary<TKey, TValue> WithComparers(IEqualityComparer<TKey>? keyComparer) 1024private static SortedInt32KeyNode<HashBucket> UpdateRoot(SortedInt32KeyNode<HashBucket> root, int hashCode, HashBucket newBucket, IEqualityComparer<HashBucket> hashBucketComparer) 1080/// <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 (98)
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 (2)
30public static bool Contains<TSource>(this IEnumerable<TSource> source, TSource value, IEqualityComparer<TSource>? comparer) 49private static bool ContainsIterate<TSource>(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 (9)
114/// Correlates the elements of two sequences based on matching keys. A specified <see cref="IEqualityComparer{T}" /> is used to compare keys. 121/// <param name="comparer">An <see cref="IEqualityComparer{T}" /> to hash and compare keys.</param> 130/// The following code example demonstrates how to use <see cref="Join{TOuter, TInner, TKey, TResult}(IEnumerable{TOuter}, IEnumerable{TInner}, Func{TOuter, TKey}, Func{TInner, TKey}, Func{TOuter, TInner, TResult}, IEqualityComparer{TKey})" /> to perform an inner join of two sequences based on a common key. 200/// <see cref="Join{TOuter, TInner, TKey, TResult}(IEnumerable{TOuter}, IEnumerable{TInner}, Func{TOuter, TKey}, Func{TInner, TKey}, Func{TOuter, TInner, TResult}, IEqualityComparer{TKey})" /> 204/// In relational database terms, the <see cref="Join{TOuter, TInner, TKey, TResult}(IEnumerable{TOuter}, IEnumerable{TInner}, Func{TOuter, TKey}, Func{TInner, TKey}, Func{TOuter, TInner, TResult}, IEqualityComparer{TKey})" /> method implements an inner equijoin. 208/// <see cref="LeftJoin{TOuter, TInner, TKey, TResult}(IEnumerable{TOuter}, IEnumerable{TInner}, Func{TOuter, TKey}, Func{TInner, TKey}, Func{TOuter, TInner, TResult}, IEqualityComparer{TKey})" /> method, 210/// <see cref="RightJoin{TOuter, TInner, TKey, TResult}(IEnumerable{TOuter}, IEnumerable{TInner}, Func{TOuter, TKey}, Func{TInner, TKey}, Func{TOuter, TInner, TResult}, IEqualityComparer{TKey})" /> method, 214public 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) 249private 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 (8)
113/// Correlates the elements of two sequences based on matching keys. A specified <see cref="IEqualityComparer{T}" /> is used to compare keys. 120/// <param name="comparer">An <see cref="IEqualityComparer{T}" /> to hash and compare keys.</param> 129/// The following code example demonstrates how to use <see cref="LeftJoin{TOuter, TInner, TKey, TResult}(IEnumerable{TOuter}, IEnumerable{TInner}, Func{TOuter, TKey}, Func{TInner, TKey}, Func{TOuter, TInner, TResult}, IEqualityComparer{TKey})" /> to perform aa left outer join of two sequences based on a common key. 200/// <see cref="LeftJoin{TOuter, TInner, TKey, TResult}(IEnumerable{TOuter}, IEnumerable{TInner}, Func{TOuter, TKey}, Func{TInner, TKey}, Func{TOuter, TInner, TResult}, IEqualityComparer{TKey})" /> 204/// In relational database terms, the <see cref="LeftJoin{TOuter, TInner, TKey, TResult}(IEnumerable{TOuter}, IEnumerable{TInner}, Func{TOuter, TKey}, Func{TInner, TKey}, Func{TOuter, TInner, TResult}, IEqualityComparer{TKey})" /> method implements an outer left equijoin. 208/// <see cref="Join{TOuter, TInner, TKey, TResult}(IEnumerable{TOuter}, IEnumerable{TInner}, Func{TOuter, TKey}, Func{TInner, TKey}, Func{TOuter, TInner, TResult}, IEqualityComparer{TKey})" /> method. 212public 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) 247private 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 (8)
112/// Correlates the elements of two sequences based on matching keys. A specified <see cref="IEqualityComparer{T}" /> is used to compare keys. 119/// <param name="comparer">An <see cref="IEqualityComparer{T}" /> to hash and compare keys.</param> 128/// The following code example demonstrates how to use <see cref="RightJoin{TOuter, TInner, TKey, TResult}(IEnumerable{TOuter}, IEnumerable{TInner}, Func{TOuter, TKey}, Func{TInner, TKey}, Func{TOuter, TInner, TResult}, IEqualityComparer{TKey})" /> to perform aa left outer join of two sequences based on a common key. 198/// <see cref="RightJoin{TOuter, TInner, TKey, TResult}(IEnumerable{TOuter}, IEnumerable{TInner}, Func{TOuter, TKey}, Func{TInner, TKey}, Func{TOuter, TInner, TResult}, IEqualityComparer{TKey})" /> 202/// In relational database terms, the <see cref="RightJoin{TOuter, TInner, TKey, TResult}(IEnumerable{TOuter}, IEnumerable{TInner}, Func{TOuter, TKey}, Func{TInner, TKey}, Func{TOuter, TInner, TResult}, IEqualityComparer{TKey})" /> method implements an outer right equijoin. 206/// <see cref="Join{TOuter, TInner, TKey, TResult}(IEnumerable{TOuter}, IEnumerable{TInner}, Func{TOuter, TKey}, Func{TInner, TKey}, Func{TOuter, TInner, TResult}, IEqualityComparer{TKey})" /> method. 210public 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) 245private 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) 54IEqualityComparer<TKey>? keyComparer, 95/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 109IEqualityComparer<TKey>? keyComparer = null) 125IEqualityComparer<TKey>? keyComparer, 161/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 176IEqualityComparer<TKey>? keyComparer = null) where TKey : notnull 192IEqualityComparer<TKey>? keyComparer, 233/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 248IEqualityComparer<TKey>? keyComparer = null) where TKey : notnull 264IEqualityComparer<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 36IAsyncEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer, [EnumeratorCancellation] CancellationToken cancellationToken) 70/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 77IEqualityComparer<TKey>? keyComparer = null) where TKey : notnull 87IAsyncEnumerable<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) 30IEqualityComparer<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) 42IEqualityComparer<TKey>? comparer, 68/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 73/// <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> 80IEqualityComparer<TKey>? comparer = null) 92IEqualityComparer<TKey>? comparer,
System\Linq\Except.cs (3)
17/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare values.</param> 24IEqualityComparer<TSource>? comparer = null) 36IEqualityComparer<TSource>? comparer,
System\Linq\ExceptBy.cs (6)
21/// <param name="comparer">The <see cref="IEqualityComparer{TKey}" /> to compare values.</param> 30IEqualityComparer<TKey>? comparer = null) 44IEqualityComparer<TKey>? comparer, 81/// <param name="comparer">The <see cref="IEqualityComparer{TKey}" /> to compare values.</param> 90IEqualityComparer<TKey>? comparer = null) 104IEqualityComparer<TKey>? comparer,
System\Linq\GroupBy.cs (24)
20/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 30IEqualityComparer<TKey>? comparer = null) 42IEqualityComparer<TKey>? comparer, 57/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 67IEqualityComparer<TKey>? comparer = null) 79IEqualityComparer<TKey>? comparer, 100/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 112IEqualityComparer<TKey>? comparer = null) 126IEqualityComparer<TKey>? comparer, 147/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 159IEqualityComparer<TKey>? comparer = null) 173IEqualityComparer<TKey>? comparer, 193/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 205IEqualityComparer<TKey>? comparer = null) 219IEqualityComparer<TKey>? comparer, 242/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 254IEqualityComparer<TKey>? comparer = null) 268IEqualityComparer<TKey>? comparer, 295/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 306IEqualityComparer<TKey>? comparer = null) 322IEqualityComparer<TKey>? comparer, 349/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 360IEqualityComparer<TKey>? comparer = null) 376IEqualityComparer<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) 60IEqualityComparer<TKey>? comparer, 91/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to use to hash and compare keys.</param> 107IEqualityComparer<TKey>? comparer = null) 125IEqualityComparer<TKey>? comparer,
System\Linq\Intersect.cs (3)
17/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare values.</param> 24IEqualityComparer<TSource>? comparer = null) 36IEqualityComparer<TSource>? comparer,
System\Linq\IntersectBy.cs (6)
19/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 35IEqualityComparer<TKey>? comparer = null) 49IEqualityComparer<TKey>? comparer, 84/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 100IEqualityComparer<TKey>? comparer = null) 114IEqualityComparer<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) 56IEqualityComparer<TKey>? comparer, 96/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to use to hash and compare keys.</param> 112IEqualityComparer<TKey>? comparer = null) 130IEqualityComparer<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) 53IEqualityComparer<TKey>? comparer, 90/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to use to hash and compare keys.</param> 107IEqualityComparer<TKey>? comparer = null) 125IEqualityComparer<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) 54IEqualityComparer<TKey>? comparer, 91/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to use to hash and compare keys.</param> 108IEqualityComparer<TKey>? comparer = null) 126IEqualityComparer<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) 71/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 79IEqualityComparer<TKey>? comparer = null, 90IEqualityComparer<TKey>? comparer, 122/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 131IEqualityComparer<TKey>? comparer = null, 144IEqualityComparer<TKey>? comparer) 175/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 184IEqualityComparer<TKey>? comparer = null, 197IEqualityComparer<TKey>? comparer, 269private readonly IEqualityComparer<TKey> _comparer; 274internal AsyncLookup(IEqualityComparer<TKey>? comparer) 283IEqualityComparer<TKey>? comparer, 305IEqualityComparer<TKey>? comparer,
System\Linq\Union.cs (3)
17/// <param name="comparer">An <see cref="IEqualityComparer{T}"/> to compare keys.</param> 24IEqualityComparer<TSource>? comparer = null) 36IEqualityComparer<TSource>? comparer,
System\Linq\UnionBy.cs (6)
19/// <param name="comparer">The <see cref="IEqualityComparer{T}" /> to compare values.</param> 27IEqualityComparer<TKey>? comparer = null) 41IEqualityComparer<TKey>? comparer, 70/// <param name="comparer">The <see cref="IEqualityComparer{T}" /> to compare values.</param> 78IEqualityComparer<TKey>? comparer = null) 92IEqualityComparer<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)
25private readonly IEqualityComparer<TKey>? comparer; 33internal 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 (90)
System\Linq\Queryable.cs (90)
297/// Correlates the elements of two sequences based on matching keys. A specified <see cref="IEqualityComparer{T}" /> is used to compare keys. 304/// <param name="comparer">An <see cref="IEqualityComparer{T}" /> to hash and compare keys.</param> 313/// The following code example demonstrates how to use <see cref="Join{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> to perform an inner join of two sequences based on a common key. 378/// The <see cref="Join{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> method 380/// <see cref="Join{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> 386/// <see cref="Join{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> 396public 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) 407new Func<IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, TInner, TResult>>, IEqualityComparer<TKey>, IQueryable<TResult>>(Join).Method, 408outer.Expression, GetSourceExpression(inner), Expression.Quote(outerKeySelector), Expression.Quote(innerKeySelector), Expression.Quote(resultSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 428public 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) 439new 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, 440outer.Expression, GetSourceExpression(inner), Expression.Quote(outerKeySelector), Expression.Quote(innerKeySelector), Expression.Quote(resultSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 459/// The following code example demonstrates how to use <see cref="LeftJoin{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> to perform an inner join of two sequences based on a common key. 558/// Correlates the elements of two sequences based on matching keys. A specified <see cref="IEqualityComparer{T}" /> is used to compare keys. 565/// <param name="comparer">An <see cref="IEqualityComparer{T}" /> to hash and compare keys.</param> 574/// The following code example demonstrates how to use <see cref="LeftJoin{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> to perform an inner join of two sequences based on a common key. 639/// The <see cref="LeftJoin{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> method 641/// <see cref="LeftJoin{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> 647/// <see cref="LeftJoin{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> 657public 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) 668new Func<IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, TInner?, TResult>>, IEqualityComparer<TKey>, IQueryable<TResult>>(LeftJoin).Method, 669outer.Expression, GetSourceExpression(inner), Expression.Quote(outerKeySelector), Expression.Quote(innerKeySelector), Expression.Quote(resultSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 886/// The following code example demonstrates how to use <see cref="RightJoin{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> to perform an inner join of two sequences based on a common key. 984/// Correlates the elements of two sequences based on matching keys. A specified <see cref="IEqualityComparer{T}" /> is used to compare keys. 991/// <param name="comparer">An <see cref="IEqualityComparer{T}" /> to hash and compare keys.</param> 1000/// The following code example demonstrates how to use <see cref="RightJoin{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> to perform an inner join of two sequences based on a common key. 1064/// The <see cref="RightJoin{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> method 1066/// <see cref="RightJoin{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> 1072/// <see cref="RightJoin{TOuter, TInner, TKey, TResult}(IQueryable{TOuter}, IEnumerable{TInner}, Expression{Func{TOuter, TKey}}, Expression{Func{TInner, TKey}}, Expression{Func{TOuter, TInner, TResult}}, IEqualityComparer{TKey})" /> 1082public 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) 1093new Func<IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter?, TInner, TResult>>, IEqualityComparer<TKey>, IQueryable<TResult>>(RightJoin).Method, 1094outer.Expression, GetSourceExpression(inner), Expression.Quote(outerKeySelector), Expression.Quote(innerKeySelector), Expression.Quote(resultSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 1271public static IQueryable<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, IEqualityComparer<TKey>? comparer) 1279new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>, IQueryable<IGrouping<TKey, TSource>>>(GroupBy).Method, 1280source.Expression, Expression.Quote(keySelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 1284public 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) 1293new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TSource, TElement>>, IEqualityComparer<TKey>, IQueryable<IGrouping<TKey, TElement>>>(GroupBy).Method, 1294source.Expression, Expression.Quote(keySelector), Expression.Quote(elementSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 1327public 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) 1336new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey, IEnumerable<TSource>, TResult>>, IEqualityComparer<TKey>, IQueryable<TResult>>(GroupBy).Method, 1337source.Expression, Expression.Quote(keySelector), Expression.Quote(resultSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 1341public 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) 1351new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TSource, TElement>>, Expression<Func<TKey, IEnumerable<TElement>, TResult>>, IEqualityComparer<TKey>, IQueryable<TResult>>(GroupBy).Method, 1352source.Expression, Expression.Quote(keySelector), Expression.Quote(elementSelector), Expression.Quote(resultSelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 1368public static IQueryable<TSource> Distinct<TSource>(this IQueryable<TSource> source, IEqualityComparer<TSource>? comparer) 1375new Func<IQueryable<TSource>, IEqualityComparer<TSource>, IQueryable<TSource>>(Distinct).Method, 1376source.Expression, Expression.Constant(comparer, typeof(IEqualityComparer<TSource>)))); 1404/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 1408public static IQueryable<TSource> DistinctBy<TSource, TKey>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, IEqualityComparer<TKey>? comparer) 1416new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>, IQueryable<TSource>>(DistinctBy).Method, 1417source.Expression, Expression.Quote(keySelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 1521public static IQueryable<TSource> Union<TSource>(this IQueryable<TSource> source1, IEnumerable<TSource> source2, IEqualityComparer<TSource>? comparer) 1529new Func<IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>, IQueryable<TSource>>(Union).Method, 1532Expression.Constant(comparer, typeof(IEqualityComparer<TSource>)))); 1563/// <param name="comparer">The <see cref="IEqualityComparer{T}" /> to compare values.</param> 1567public static IQueryable<TSource> UnionBy<TSource, TKey>(this IQueryable<TSource> source1, IEnumerable<TSource> source2, Expression<Func<TSource, TKey>> keySelector, IEqualityComparer<TKey>? comparer) 1576new Func<IQueryable<TSource>, IEnumerable<TSource>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>, IQueryable<TSource>>(UnionBy).Method, 1580Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 1614public static IQueryable<TSource> Intersect<TSource>(this IQueryable<TSource> source1, IEnumerable<TSource> source2, IEqualityComparer<TSource>? comparer) 1622new Func<IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>, IQueryable<TSource>>(Intersect).Method, 1625Expression.Constant(comparer, typeof(IEqualityComparer<TSource>)))); 1658/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 1662public static IQueryable<TSource> IntersectBy<TSource, TKey>(this IQueryable<TSource> source1, IEnumerable<TKey> source2, Expression<Func<TSource, TKey>> keySelector, IEqualityComparer<TKey>? comparer) 1671new Func<IQueryable<TSource>, IEnumerable<TKey>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>, IQueryable<TSource>>(IntersectBy).Method, 1675Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 1692public static IQueryable<TSource> Except<TSource>(this IQueryable<TSource> source1, IEnumerable<TSource> source2, IEqualityComparer<TSource>? comparer) 1700new Func<IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>, IQueryable<TSource>>(Except).Method, 1703Expression.Constant(comparer, typeof(IEqualityComparer<TSource>)))); 1739/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 1742public static IQueryable<TSource> ExceptBy<TSource, TKey>(this IQueryable<TSource> source1, IEnumerable<TKey> source2, Expression<Func<TSource, TKey>> keySelector, IEqualityComparer<TKey>? comparer) 1751new Func<IQueryable<TSource>, IEnumerable<TKey>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>, IQueryable<TSource>>(ExceptBy).Method, 1755Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 2129public static bool Contains<TSource>(this IQueryable<TSource> source, TSource item, IEqualityComparer<TSource>? comparer) 2136new Func<IQueryable<TSource>, TSource, IEqualityComparer<TSource>, bool>(Contains).Method, 2137source.Expression, Expression.Constant(item, typeof(TSource)), Expression.Constant(comparer, typeof(IEqualityComparer<TSource>)))); 2166public static bool SequenceEqual<TSource>(this IQueryable<TSource> source1, IEnumerable<TSource> source2, IEqualityComparer<TSource>? comparer) 2174new Func<IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>, bool>(SequenceEqual).Method, 2177Expression.Constant(comparer, typeof(IEqualityComparer<TSource>)))); 2260/// <param name="comparer">An <see cref="IEqualityComparer{TKey}" /> to compare keys.</param> 2264public static IQueryable<KeyValuePair<TKey, int>> CountBy<TSource, TKey>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, IEqualityComparer<TKey>? comparer = null) where TKey : notnull 2272new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>, IQueryable<KeyValuePair<TKey, int>>>(CountBy).Method, 2273source.Expression, Expression.Quote(keySelector), Expression.Constant(comparer, typeof(IEqualityComparer<TKey>)))); 3086/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 3093public 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 3102new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, TAccumulate, Expression<Func<TAccumulate, TSource, TAccumulate>>, IEqualityComparer<TKey>, IQueryable<KeyValuePair<TKey, TAccumulate>>>(AggregateBy).Method, 3103source.Expression, Expression.Quote(keySelector), Expression.Constant(seed), Expression.Quote(func), Expression.Constant(keyComparer, typeof(IEqualityComparer<TKey>)))); 3116/// <param name="keyComparer">An <see cref="IEqualityComparer{T}"/> to compare keys with.</param> 3123public 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 3133new Func<IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey, TAccumulate>>, Expression<Func<TAccumulate, TSource, TAccumulate>>, IEqualityComparer<TKey>, IQueryable<KeyValuePair<TKey, TAccumulate>>>(AggregateBy).Method, 3134source.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 (199)
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 (134)
371/// <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> 373public static bool Contains<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) => 464/// <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> 466public static bool ContainsAny<T>(this ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer = null) => 487/// <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> 489public static bool ContainsAny<T>(this ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer = null) => 508public static bool ContainsAny<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> values, IEqualityComparer<T>? comparer = null) => 554/// <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> 560public static bool ContainsAnyExcept<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) => 583/// <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> 589public static bool ContainsAnyExcept<T>(this ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer = null) => 614/// <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> 620public static bool ContainsAnyExcept<T>(this ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer = null) => 641/// <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> 647public static bool ContainsAnyExcept<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> values, IEqualityComparer<T>? comparer = null) => 848/// <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> 854public static unsafe int IndexOfAnyExcept<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) 907static int IndexOfAnyExceptComparer(ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer) 964/// <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> 970public static unsafe int IndexOfAnyExcept<T>(this ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer = null) 1012static int IndexOfAnyExceptComparer(ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer) 1074/// <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> 1080public static unsafe int IndexOfAnyExcept<T>(this ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer = null) 1125static int IndexOfAnyExceptComparer(ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer) 1259/// <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> 1264public static int IndexOfAnyExcept<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> values, IEqualityComparer<T>? comparer = null) 1426/// <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> 1432public static unsafe int LastIndexOfAnyExcept<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) 1485static int LastIndexOfAnyExceptComparer(ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer) 1542/// <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> 1548public static unsafe int LastIndexOfAnyExcept<T>(this ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer = null) 1590static int LastIndexOfAnyExceptComparer(ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer) 1652/// <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> 1658public static unsafe int LastIndexOfAnyExcept<T>(this ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer = null) 1703static int LastIndexOfAnyExceptComparer(ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer) 1839/// <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> 1844public static int LastIndexOfAnyExcept<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> values, IEqualityComparer<T>? comparer = null) 2219/// <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> 2221public static unsafe int IndexOf<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) 2269static int IndexOfComparer(ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer) 2318/// <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> 2320public static unsafe int IndexOf<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer = null) 2340static int IndexOfComparer(ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer) 2419/// <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> 2421public static unsafe int LastIndexOf<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) 2474static int LastIndexOfComparer(ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer) 2527/// <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> 2529public static unsafe int LastIndexOf<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer = null) 2552static int LastIndexOfComparer(ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer) 2671/// <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> 2673public static unsafe int IndexOfAny<T>(this ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer = null) 2715static int IndexOfAnyComparer(ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer) 2774/// <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> 2776public static unsafe int IndexOfAny<T>(this ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer = null) 2821static int IndexOfAnyComparer(ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer) 2944/// <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> 2945public static int IndexOfAny<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> values, IEqualityComparer<T>? comparer = null) 3091/// <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> 3093public static unsafe int LastIndexOfAny<T>(this ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer = null) 3135static int LastIndexOfAnyComparer(ReadOnlySpan<T> span, T value0, T value1, IEqualityComparer<T>? comparer) 3195/// <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> 3197public static unsafe int LastIndexOfAny<T>(this ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer = null) 3242static int LastIndexOfAnyComparer(ReadOnlySpan<T> span, T value0, T value1, T value2, IEqualityComparer<T>? comparer) 3366/// <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> 3367public static int LastIndexOfAny<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> values, IEqualityComparer<T>? comparer = null) 3437/// Determines whether two sequences are equal by comparing the elements using an <see cref="IEqualityComparer{T}"/>. 3441/// <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> 3444public static bool SequenceEqual<T>(this Span<T> span, ReadOnlySpan<T> other, IEqualityComparer<T>? comparer = null) => 3448/// Determines whether two sequences are equal by comparing the elements using an <see cref="IEqualityComparer{T}"/>. 3452/// <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> 3454public static unsafe bool SequenceEqual<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> other, IEqualityComparer<T>? comparer = null) 3581/// <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> 3583public static bool StartsWith<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer = null) => 3626/// <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> 3628public static bool EndsWith<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer = null) => 3649/// <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> 3652public static bool StartsWith<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) => 3673/// <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> 3676public static bool EndsWith<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) => 4485/// <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> 4487public static unsafe void Replace<T>(this Span<T> span, T oldValue, T newValue, IEqualityComparer<T>? comparer = null) 4555static void ReplaceComparer(Span<T> span, T oldValue, T newValue, IEqualityComparer<T>? comparer) 4660/// <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> 4664public static unsafe void Replace<T>(this ReadOnlySpan<T> source, Span<T> destination, T oldValue, T newValue, IEqualityComparer<T>? comparer = null) 4747static void ReplaceComparer(ReadOnlySpan<T> source, Span<T> destination, T oldValue, T newValue, IEqualityComparer<T>? comparer) 4870/// <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> 4873public static int CommonPrefixLength<T>(this Span<T> span, ReadOnlySpan<T> other, IEqualityComparer<T>? comparer) => 4927/// <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> 4929public static int CommonPrefixLength<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> other, IEqualityComparer<T>? comparer) 5419/// <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> 5422public static unsafe int Count<T>(this ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer = null) 5476static int CountComparer(ReadOnlySpan<T> span, T value, IEqualityComparer<T>? comparer) 5536/// <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> 5538public static int Count<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> value, IEqualityComparer<T>? comparer = null) 5608/// The <see cref="IEqualityComparer{T}"/> implementation to use when comparing elements, or <see langword="null"/> to use the 5609/// default <see cref="IEqualityComparer{T}"/> for the type of an element. 5613public static int CountAny<T>(this ReadOnlySpan<T> span, ReadOnlySpan<T> values, 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 (1)
System\Collections\Specialized\CompatibleIComparer.cs (1)
8internal static IEqualityComparer<string> Default { get; } = new BackCompatibleStringComparer();
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)
105public static T[] TraverseGraphWithTopologicalSort<T>(T entryNode, Func<T, ICollection<T>> getChildren, IEqualityComparer<T>? comparer = null)
System\Text\Json\JsonHelpers.cs (1)
258IEqualityComparer<TKey> comparer)
System.Text.Json.SourceGeneration (1)
src\libraries\System.Text.Json\Common\JsonHelpers.cs (1)
105public 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.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) =>
Test.Utilities (149)
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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
56private readonly IEqualityComparer<TKey>? _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
63private readonly IEqualityComparer<T>? _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentDictionary.cs (5)
29private PooledConcurrentDictionary(ObjectPool<PooledConcurrentDictionary<K, V>>? pool, IEqualityComparer<K> keyComparer) 52private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledConcurrentDictionary<K, V>>> s_poolInstancesByComparer = new(); 55public static ObjectPool<PooledConcurrentDictionary<K, V>> CreatePool(IEqualityComparer<K>? keyComparer = null) 66public static PooledConcurrentDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 76public static PooledConcurrentDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentSet.cs (2)
33public static PooledConcurrentSet<T> GetInstance(IEqualityComparer<T>? comparer = null) 39public static PooledConcurrentSet<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledDictionary.cs (4)
20Func<KeyValuePair<K, V>, TKey> keySelector, Func<KeyValuePair<K, V>, TValue> elementSelector, IEqualityComparer<TKey> comparer) 38private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledDictionary<K, V>>> s_poolInstancesByComparer 41public static PooledDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 51public static PooledDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\RoslynHashCode.cs (1)
316public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\RoslynAnalyzers\Utilities\Compiler\SmallDictionary.cs (3)
41public readonly IEqualityComparer<K> Comparer; 48public SmallDictionary(IEqualityComparer<K> comparer) 53public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
Text.Analyzers (152)
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\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\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (11)
105public static bool SetEquals<T>(this IEnumerable<T> source1, IEnumerable<T> source2, IEqualityComparer<T>? comparer) 135public static ISet<T> ToSet<T>(this IEnumerable<T> source, IEqualityComparer<T>? comparer) 258public static bool HasDuplicates<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) 271/// <seealso cref="Microsoft.CodeAnalysis.ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 273public static bool HasDuplicates<TItem, TValue>(this IEnumerable<TItem> source, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 549public static int IndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 558private static int EnumeratingIndexOf<T>(this IEnumerable<T> sequence, T value, IEqualityComparer<T> comparer) 574public static int IndexOf<T>(this IReadOnlyList<T> list, T value, IEqualityComparer<T> comparer) 632public static ImmutableDictionary<K, V> ToImmutableDictionaryOrEmpty<K, V>(this IEnumerable<KeyValuePair<K, V>>? items, IEqualityComparer<K>? keyComparer) 698internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null) 879/// Variant of <see cref="System.Linq.Enumerable.SequenceEqual{TSource}(IEnumerable{TSource}, IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>
src\Dependencies\Collections\Extensions\IListExtensions.cs (4)
16public static bool HasDuplicates<T>(this IReadOnlyList<T> list, IEqualityComparer<T> comparer) 29/// <seealso cref="ImmutableArrayExtensions.HasDuplicates{TItem, TValue}(System.Collections.Immutable.ImmutableArray{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 30/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 32internal static bool HasDuplicates<TItem, TValue>(this IReadOnlyList<TItem> list, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (9)
681public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer) 813internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer) 826/// <seealso cref="Roslyn.Utilities.EnumerableExtensions.HasDuplicates{TItem, TValue}(IEnumerable{TItem}, Func{TItem, TValue}, IEqualityComparer{TValue})"/> 828internal static bool HasDuplicates<TItem, TValue>(this ImmutableArray<TItem> array, Func<TItem, TValue> selector, IEqualityComparer<TValue> comparer) 920(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer) 976internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer) 1275/// Specialization of <see cref="System.Linq.Enumerable.Distinct{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/>. 1277public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null) 1354/// Variant of <see cref="System.Collections.Immutable.ImmutableArray{T}.Contains(T, IEqualityComparer{T})"/>
src\Dependencies\Collections\OneOrMany.cs (5)
191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 206public bool SequenceEqual(ImmutableArray<T> other, IEqualityComparer<T>? comparer = null) 209public bool SequenceEqual(IEnumerable<T> other, IEqualityComparer<T>? comparer = null) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary.cs (6)
23public static ImmutableSegmentedDictionary<TKey, TValue> Create<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 31public static ImmutableSegmentedDictionary<TKey, TValue>.Builder CreateBuilder<TKey, TValue>(IEqualityComparer<TKey>? keyComparer) 39public static ImmutableSegmentedDictionary<TKey, TValue> CreateRange<TKey, TValue>(IEqualityComparer<TKey>? keyComparer, IEnumerable<KeyValuePair<TKey, TValue>> items) 56public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> items, IEqualityComparer<TKey>? keyComparer) 72public static ImmutableSegmentedDictionary<TKey, TValue> ToImmutableSegmentedDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> elementSelector, IEqualityComparer<TKey>? keyComparer) 90public static ImmutableSegmentedDictionary<TKey, TSource> ToImmutableSegmentedDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2.cs (2)
84public IEqualityComparer<TKey> KeyComparer => _dictionary.Comparer; 267public ImmutableSegmentedDictionary<TKey, TValue> WithComparer(IEqualityComparer<TKey>? keyComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+Builder.cs (1)
27public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedDictionary`2+ValueBuilder.cs (1)
35public IEqualityComparer<TKey> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (12)
27/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T})"/> 28public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 31/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T)"/> 32public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 35/// <inheritdoc cref="ImmutableHashSet.Create{T}(IEqualityComparer{T}?, T[])"/> 36public static ImmutableSegmentedHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 43/// <inheritdoc cref="ImmutableHashSet.CreateBuilder{T}(IEqualityComparer{T}?)"/> 44public static ImmutableSegmentedHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 56/// <inheritdoc cref="ImmutableHashSet.CreateRange{T}(IEqualityComparer{T}?, IEnumerable{T})"/> 57public static ImmutableSegmentedHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 74/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(IEnumerable{TSource}, IEqualityComparer{TSource}?)"/> 75public static ImmutableSegmentedHashSet<TSource> ToImmutableSegmentedHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (3)
79public IEqualityComparer<T> KeyComparer => _set.Comparer; 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/> 305public ImmutableSegmentedHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (1)
27public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (1)
38public IEqualityComparer<T> KeyComparer
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (11)
306public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 339public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 372/// <inheritdoc cref="ImmutableList{T}.Remove(T, IEqualityComparer{T}?)"/> 373public ImmutableSegmentedList<T> Remove(T value, IEqualityComparer<T>? equalityComparer) 427/// <inheritdoc cref="ImmutableList{T}.RemoveRange(IEnumerable{T}, IEqualityComparer{T}?)"/> 428public ImmutableSegmentedList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 481/// <inheritdoc cref="ImmutableList{T}.Replace(T, T, IEqualityComparer{T}?)"/> 482public ImmutableSegmentedList<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer) 618IImmutableList<T> IImmutableList<T>.Remove(T value, IEqualityComparer<T>? equalityComparer) 624IImmutableList<T> IImmutableList<T>.RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer) 636IImmutableList<T> IImmutableList<T>.Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+Builder.cs (4)
157/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.IndexOf(T, int, int, IEqualityComparer{T}?)"/> 158public int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 180/// <inheritdoc cref="System.Collections.Immutable.ImmutableList{T}.Builder.LastIndexOf(T, int, int, IEqualityComparer{T}?)"/> 181public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (2)
208public readonly int IndexOf(T item, int index, int count, IEqualityComparer<T>? equalityComparer) 244public readonly int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T>? equalityComparer)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (2)
216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (10)
62private readonly IEqualityComparer<TKey> _comparer; 78public SegmentedDictionary(IEqualityComparer<TKey>? comparer) 83public SegmentedDictionary(int capacity, IEqualityComparer<TKey>? comparer) 123public SegmentedDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey>? comparer) 139public SegmentedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer) 222public IEqualityComparer<TKey> Comparer 409var comparer = _comparer; 523var comparer = _comparer; 710var comparer = _comparer; 787var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (10)
69private readonly IEqualityComparer<T> _comparer; 74public SegmentedHashSet() : this((IEqualityComparer<T>?)null) { } 76public SegmentedHashSet(IEqualityComparer<T>? comparer) 105public SegmentedHashSet(IEnumerable<T> collection, IEqualityComparer<T>? comparer) : this(comparer) 138public SegmentedHashSet(int capacity, IEqualityComparer<T>? comparer) : this(comparer) 230var comparer = _comparer; 301IEqualityComparer<T>? comparer = _comparer; 865public IEqualityComparer<T> Comparer 992public static IEqualityComparer<SegmentedHashSet<T>> CreateSetComparer() => new SegmentedHashSetEqualityComparer<T>(); 1028var comparer = _comparer;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (2)
840public int IndexOf(T item, int index, int count, IEqualityComparer<T>? comparer) 1031public int LastIndexOf(T item, int index, int count, IEqualityComparer<T>? comparer)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
252public readonly bool Contains(T value, IEqualityComparer<T>? equalityComparer = null) 255public readonly int IndexOf(T value, IEqualityComparer<T>? equalityComparer = null)
src\Dependencies\PooledObjects\ArrayBuilder.cs (2)
204public int IndexOf(T item, IEqualityComparer<T> equalityComparer) 546internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
src\Dependencies\PooledObjects\PooledDictionary.cs (2)
23private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 48public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
src\Dependencies\PooledObjects\PooledHashSet.cs (2)
21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
src\Dependencies\Threading\AsyncBatchingWorkQueue`1.cs (1)
20IEqualityComparer<TItem>? equalityComparer,
src\Dependencies\Threading\AsyncBatchingWorkQueue`2.cs (2)
39private readonly IEqualityComparer<TItem>? _equalityComparer; 108IEqualityComparer<TItem>? equalityComparer,
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentDictionary.cs (5)
29private PooledConcurrentDictionary(ObjectPool<PooledConcurrentDictionary<K, V>>? pool, IEqualityComparer<K> keyComparer) 52private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledConcurrentDictionary<K, V>>> s_poolInstancesByComparer = new(); 55public static ObjectPool<PooledConcurrentDictionary<K, V>> CreatePool(IEqualityComparer<K>? keyComparer = null) 66public static PooledConcurrentDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 76public static PooledConcurrentDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledConcurrentSet.cs (2)
33public static PooledConcurrentSet<T> GetInstance(IEqualityComparer<T>? comparer = null) 39public static PooledConcurrentSet<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledDictionary.cs (4)
20Func<KeyValuePair<K, V>, TKey> keySelector, Func<KeyValuePair<K, V>, TValue> elementSelector, IEqualityComparer<TKey> comparer) 38private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<PooledDictionary<K, V>>> s_poolInstancesByComparer 41public static PooledDictionary<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null) 51public static PooledDictionary<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
src\RoslynAnalyzers\Utilities\Compiler\RoslynHashCode.cs (1)
316public void Add<T>(T value, IEqualityComparer<T>? comparer)
src\RoslynAnalyzers\Utilities\Compiler\SmallDictionary.cs (3)
41public readonly IEqualityComparer<K> Comparer; 48public SmallDictionary(IEqualityComparer<K> comparer) 53public SmallDictionary(SmallDictionary<K, V> other, IEqualityComparer<K> comparer)
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)
46bool IEqualityComparer<TSyntaxNode>.Equals([AllowNull] TSyntaxNode x, [AllowNull] TSyntaxNode y) 49int IEqualityComparer<TSyntaxNode>.GetHashCode([DisallowNull] TSyntaxNode obj)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
133/// Returns an <see cref="IEqualityComparer{T}"/> that determines if two <see cref="SymbolKey"/>s 145public 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\Extensions\Symbols\SignatureComparer.cs (2)
25private IEqualityComparer<IParameterSymbol> ParameterEquivalenceComparer => _symbolEquivalenceComparer.ParameterEquivalenceComparer; 27private IEqualityComparer<ITypeSymbol> SignatureTypeEquivalenceComparer => _symbolEquivalenceComparer.SignatureTypeEquivalenceComparer;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.AssemblyComparers.cs (1)
15public static readonly IEqualityComparer<IAssemblySymbol> Instance = new SimpleNameAssemblyComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (2)
50private readonly IEqualityComparer<IAssemblySymbol>? _assemblyComparer; 62IEqualityComparer<IAssemblySymbol>? assemblyComparer,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\FindSymbols\LinkedFileReferenceLocationEqualityComparer.cs (1)
16public static readonly IEqualityComparer<ReferenceLocation> Instance = new LinkedFileReferenceLocationEqualityComparer();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs (2)
43bool IEqualityComparer<T>.Equals(T? x, T? y) 46int IEqualityComparer<T>.GetHashCode(T 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)