507 references to CompareOptions
dotnet-svcutil-lib (4)
Microsoft.Build (7)
Evaluation\Expander.cs (7)
939if (s_invariantCompareInfo.IndexOf(expression, "%(", CompareOptions.Ordinal) == -1)
946if (s_invariantCompareInfo.IndexOf(expression, "@(", CompareOptions.Ordinal) == -1)
1205propertyStartIndex = s_invariantCompareInfo.IndexOf(expression, "$(", CompareOptions.Ordinal);
1265else if ((expression.Length - (propertyStartIndex + 2)) > 9 && tryExtractRegistryFunction && s_invariantCompareInfo.IndexOf(expression, "Registry:", propertyStartIndex + 2, 9, CompareOptions.OrdinalIgnoreCase) == propertyStartIndex + 2)
1276else if ((propertyEndIndex - (propertyStartIndex + 2)) == 77 && s_invariantCompareInfo.IndexOf(expression, @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\VSTSDB@VSTSDBDirectory", propertyStartIndex + 2, 77, CompareOptions.OrdinalIgnoreCase) == propertyStartIndex + 2)
1332propertyStartIndex = s_invariantCompareInfo.IndexOf(expression, "$(", sourceIndex, CompareOptions.Ordinal);
3688if (s_invariantCompareInfo.IndexOf(_expression, "::", CompareOptions.OrdinalIgnoreCase) > -1)
Microsoft.CodeAnalysis.CSharp.CodeStyle (5)
Microsoft.CodeAnalysis.CSharp.Workspaces (5)
Microsoft.CodeAnalysis.Features (1)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (5)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (5)
Microsoft.CodeAnalysis.Workspaces (10)
PatternMatching\PatternMatcher.cs (10)
170var caseInsensitiveIndex = _compareInfo.IndexOf(candidate, patternChunk.Text, CompareOptions.IgnoreCase);
223var caseSensitiveIndex = _compareInfo.IndexOf(candidate, patternChunk.Text, startIndex: caseInsensitiveIndex, CompareOptions.None);
257if (PartStartsWith(candidate, hump, patternChunk.Text, CompareOptions.IgnoreCase))
260isCaseSensitive: PartStartsWith(candidate, hump, patternChunk.Text, CompareOptions.None),
288var caseSensitiveIndex = _compareInfo.IndexOf(candidate, patternChunk.Text, startIndex: caseInsensitiveIndex, CompareOptions.None);
428private bool PartStartsWith(string candidate, TextSpan candidatePart, string pattern, TextSpan patternPart, CompareOptions compareOptions)
449private bool PartStartsWith(string candidate, TextSpan candidatePart, string pattern, CompareOptions compareOptions)
481var camelCaseKindIgnoreCase = TryUpperCaseCamelCaseMatch(candidate, candidateHumps, patternChunk, CompareOptions.IgnoreCase, out var matchedSpansIgnoreCase);
484var camelCaseKind = TryUpperCaseCamelCaseMatch(candidate, candidateHumps, patternChunk, CompareOptions.None, out var matchedSpans);
516CompareOptions compareOption,
Microsoft.VisualBasic.Core (60)
mscorlib (1)
netstandard (1)
PresentationFramework (23)
System.Collections.NonGeneric (2)
System.Collections.Specialized (1)
System.ComponentModel.TypeConverter (5)
System.Data.Common (34)
System.Data.Odbc (7)
System.Drawing.Common (1)
System.Globalization (1)
System.Net.HttpListener (1)
System.Private.CoreLib (290)
src\libraries\Common\src\Interop\Interop.Collation.cs (8)
20internal static unsafe partial int CompareString(IntPtr sortHandle, char* lpStr1, int cwStr1Len, char* lpStr2, int cwStr2Len, CompareOptions options);
23internal static unsafe partial int IndexOf(IntPtr sortHandle, char* target, int cwTargetLength, char* pSource, int cwSourceLength, CompareOptions options, int* matchLengthPtr);
26internal static unsafe partial int LastIndexOf(IntPtr sortHandle, char* target, int cwTargetLength, char* pSource, int cwSourceLength, CompareOptions options, int* matchLengthPtr);
31internal static unsafe partial bool StartsWith(IntPtr sortHandle, char* target, int cwTargetLength, char* source, int cwSourceLength, CompareOptions options, int* matchedLength);
36internal static unsafe partial bool EndsWith(IntPtr sortHandle, char* target, int cwTargetLength, char* source, int cwSourceLength, CompareOptions options, int* matchedLength);
40internal static partial bool StartsWith(IntPtr sortHandle, string target, int cwTargetLength, string source, int cwSourceLength, CompareOptions options);
44internal static partial bool EndsWith(IntPtr sortHandle, string target, int cwTargetLength, string source, int cwSourceLength, CompareOptions options);
47internal static unsafe partial int GetSortKey(IntPtr sortHandle, char* str, int strLength, byte* sortKey, int sortKeyLength, CompareOptions options);
src\libraries\System.Private.CoreLib\src\System\Globalization\CompareInfo.cs (125)
22private const CompareOptions ValidIndexMaskOffFlags =
23~(CompareOptions.IgnoreCase | CompareOptions.IgnoreSymbols | CompareOptions.IgnoreNonSpace |
24CompareOptions.IgnoreWidth | CompareOptions.IgnoreKanaType);
27private const CompareOptions ValidCompareMaskOffFlags =
28~(CompareOptions.IgnoreCase | CompareOptions.IgnoreSymbols | CompareOptions.IgnoreNonSpace |
29CompareOptions.IgnoreWidth | CompareOptions.IgnoreKanaType | CompareOptions.StringSort |
30CompareOptions.NumericOrdering);
257return Compare(string1, string2, CompareOptions.None);
260public int Compare(string? string1, string? string2, CompareOptions options)
292CompareStringCore(string1, string2, CompareOptions.IgnoreCase);
303return Compare(string1, offset1, length1, string2, offset2, length2, CompareOptions.None);
306public int Compare(string? string1, int offset1, string? string2, int offset2, CompareOptions options)
314return Compare(string1, offset1, string2, offset2, CompareOptions.None);
317public int Compare(string? string1, int offset1, int length1, string? string2, int offset2, int length2, CompareOptions options)
405/// <param name="options">The <see cref="CompareOptions"/> to use during the comparison.</param>
414public int Compare(ReadOnlySpan<char> string1, ReadOnlySpan<char> string2, CompareOptions options = CompareOptions.None)
433if ((options & CompareOptions.IgnoreCase) == 0)
445if (options == CompareOptions.Ordinal)
450if (options == CompareOptions.OrdinalIgnoreCase)
465private static void CheckCompareOptionsForCompare(CompareOptions options)
472if (options != CompareOptions.Ordinal && options != CompareOptions.OrdinalIgnoreCase)
481private static void ThrowCompareOptionsCheckFailed(CompareOptions options)
485message: ((options & CompareOptions.Ordinal) != 0) ? SR.Argument_CompareOptionOrdinal : SR.Argument_InvalidFlag);
488private int CompareStringCore(ReadOnlySpan<char> string1, ReadOnlySpan<char> string2, CompareOptions options) =>
501public bool IsPrefix(string source, string prefix, CompareOptions options)
520/// <param name="options">The <see cref="CompareOptions"/> to use during the match.</param>
528public unsafe bool IsPrefix(ReadOnlySpan<char> source, ReadOnlySpan<char> prefix, CompareOptions options = CompareOptions.None)
550if ((options & CompareOptions.IgnoreCase) == 0)
562if (options == CompareOptions.Ordinal)
567if (options == CompareOptions.OrdinalIgnoreCase)
583/// <param name="options">The <see cref="CompareOptions"/> to use during the match.</param>
600public unsafe bool IsPrefix(ReadOnlySpan<char> source, ReadOnlySpan<char> prefix, CompareOptions options, out int matchLength)
630private unsafe bool StartsWithCore(ReadOnlySpan<char> source, ReadOnlySpan<char> prefix, CompareOptions options, int* matchLengthPtr) =>
637return IsPrefix(source, prefix, CompareOptions.None);
644public bool IsSuffix(string source, string suffix, CompareOptions options)
663/// <param name="options">The <see cref="CompareOptions"/> to use during the match.</param>
671public unsafe bool IsSuffix(ReadOnlySpan<char> source, ReadOnlySpan<char> suffix, CompareOptions options = CompareOptions.None)
693if ((options & CompareOptions.IgnoreCase) == 0)
705if (options == CompareOptions.Ordinal)
710if (options == CompareOptions.OrdinalIgnoreCase)
726/// <param name="options">The <see cref="CompareOptions"/> to use during the match.</param>
743public unsafe bool IsSuffix(ReadOnlySpan<char> source, ReadOnlySpan<char> suffix, CompareOptions options, out int matchLength)
775return IsSuffix(source, suffix, CompareOptions.None);
778private unsafe bool EndsWithCore(ReadOnlySpan<char> source, ReadOnlySpan<char> suffix, CompareOptions options, int* matchLengthPtr) =>
793return IndexOf(source, value, CompareOptions.None);
798return IndexOf(source, value, CompareOptions.None);
801public int IndexOf(string source, char value, CompareOptions options)
811public int IndexOf(string source, string value, CompareOptions options)
827return IndexOf(source, value, startIndex, CompareOptions.None);
832return IndexOf(source, value, startIndex, CompareOptions.None);
835public int IndexOf(string source, char value, int startIndex, CompareOptions options)
846public int IndexOf(string source, string value, int startIndex, CompareOptions options)
858return IndexOf(source, value, startIndex, count, CompareOptions.None);
863return IndexOf(source, value, startIndex, count, CompareOptions.None);
866public int IndexOf(string source, char value, int startIndex, int count, CompareOptions options)
896public int IndexOf(string source, string value, int startIndex, int count, CompareOptions options)
935/// <param name="options">The <see cref="CompareOptions"/> to use during the search.</param>
943public unsafe int IndexOf(ReadOnlySpan<char> source, ReadOnlySpan<char> value, CompareOptions options = CompareOptions.None)
963if ((options & CompareOptions.IgnoreCase) == 0)
975if (options == CompareOptions.Ordinal)
980if (options == CompareOptions.OrdinalIgnoreCase)
996/// <param name="options">The <see cref="CompareOptions"/> to use during the search.</param>
1013public unsafe int IndexOf(ReadOnlySpan<char> source, ReadOnlySpan<char> value, CompareOptions options, out int matchLength)
1026/// <param name="options">The <see cref="CompareOptions"/> to use during the search.</param>
1034public int IndexOf(ReadOnlySpan<char> source, Rune value, CompareOptions options = CompareOptions.None)
1046private unsafe int IndexOf(ReadOnlySpan<char> source, ReadOnlySpan<char> value, int* matchLengthPtr, CompareOptions options, bool fromBeginning)
1072if ((options & CompareOptions.IgnoreCase) == 0)
1086if (options == CompareOptions.Ordinal)
1090else if (options == CompareOptions.OrdinalIgnoreCase)
1111private unsafe int IndexOfCore(ReadOnlySpan<char> source, ReadOnlySpan<char> target, CompareOptions options, int* matchLengthPtr, bool fromBeginning) =>
1126return LastIndexOf(source, value, CompareOptions.None);
1131return LastIndexOf(source, value, CompareOptions.None);
1134public int LastIndexOf(string source, char value, CompareOptions options)
1144public int LastIndexOf(string source, string value, CompareOptions options)
1160return LastIndexOf(source, value, startIndex, startIndex + 1, CompareOptions.None);
1165return LastIndexOf(source, value, startIndex, startIndex + 1, CompareOptions.None);
1168public int LastIndexOf(string source, char value, int startIndex, CompareOptions options)
1173public int LastIndexOf(string source, string value, int startIndex, CompareOptions options)
1180return LastIndexOf(source, value, startIndex, count, CompareOptions.None);
1185return LastIndexOf(source, value, startIndex, count, CompareOptions.None);
1188public int LastIndexOf(string source, char value, int startIndex, int count, CompareOptions options)
1244public int LastIndexOf(string source, string value, int startIndex, int count, CompareOptions options)
1309/// <param name="options">The <see cref="CompareOptions"/> to use during the search.</param>
1317public unsafe int LastIndexOf(ReadOnlySpan<char> source, ReadOnlySpan<char> value, CompareOptions options = CompareOptions.None)
1337if ((options & CompareOptions.IgnoreCase) == 0)
1349if (options == CompareOptions.Ordinal)
1354if (options == CompareOptions.OrdinalIgnoreCase)
1368/// <param name="options">The <see cref="CompareOptions"/> to use during the search.</param>
1385public unsafe int LastIndexOf(ReadOnlySpan<char> source, ReadOnlySpan<char> value, CompareOptions options, out int matchLength)
1398/// <param name="options">The <see cref="CompareOptions"/> to use during the search.</param>
1406public unsafe int LastIndexOf(ReadOnlySpan<char> source, Rune value, CompareOptions options = CompareOptions.None)
1416public SortKey GetSortKey(string source, CompareOptions options)
1430return InvariantCreateSortKey(source, CompareOptions.None);
1433return CreateSortKeyCore(source, CompareOptions.None);
1436private SortKey CreateSortKeyCore(string source, CompareOptions options) =>
1446/// <param name="options">The <see cref="CompareOptions"/> used for computing the sort key.</param>
1455/// or <paramref name="source"/> cannot be processed using the desired <see cref="CompareOptions"/>
1458public int GetSortKey(ReadOnlySpan<char> source, Span<byte> destination, CompareOptions options = CompareOptions.None)
1475private int GetSortKeyCore(ReadOnlySpan<char> source, Span<byte> destination, CompareOptions options) =>
1484/// <param name="options">The <see cref="CompareOptions"/> used for computing the sort key.</param>
1488/// or <paramref name="source"/> cannot be processed using the desired <see cref="CompareOptions"/>
1491public int GetSortKeyLength(ReadOnlySpan<char> source, CompareOptions options = CompareOptions.None)
1508private int GetSortKeyLengthCore(ReadOnlySpan<char> source, CompareOptions options) =>
1530public int GetHashCode(string source, CompareOptions options)
1540public int GetHashCode(ReadOnlySpan<char> source, CompareOptions options)
1560if (options == CompareOptions.Ordinal)
1565if (options == CompareOptions.OrdinalIgnoreCase)
1576private int GetHashCodeOfStringCore(ReadOnlySpan<char> source, CompareOptions options) =>
src\libraries\System.Private.CoreLib\src\System\Globalization\CompareInfo.Icu.cs (32)
50private unsafe int IcuCompareString(ReadOnlySpan<char> string1, ReadOnlySpan<char> string2, CompareOptions options)
54Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
66private unsafe int IcuIndexOfCore(ReadOnlySpan<char> source, ReadOnlySpan<char> target, CompareOptions options, int* matchLengthPtr, bool fromBeginning)
74if ((options & CompareOptions.IgnoreCase) != 0)
104private unsafe int IndexOfOrdinalIgnoreCaseHelper(ReadOnlySpan<char> source, ReadOnlySpan<char> target, CompareOptions options, int* matchLengthPtr, bool fromBeginning)
219private unsafe int IndexOfOrdinalHelper(ReadOnlySpan<char> source, ReadOnlySpan<char> target, CompareOptions options, int* matchLengthPtr, bool fromBeginning)
314private unsafe bool IcuStartsWith(ReadOnlySpan<char> source, ReadOnlySpan<char> prefix, CompareOptions options, int* matchLengthPtr)
320Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
324if ((options & CompareOptions.IgnoreCase) != 0)
343private unsafe bool StartsWithOrdinalIgnoreCaseHelper(ReadOnlySpan<char> source, ReadOnlySpan<char> prefix, CompareOptions options, int* matchLengthPtr)
425private unsafe bool StartsWithOrdinalHelper(ReadOnlySpan<char> source, ReadOnlySpan<char> prefix, CompareOptions options, int* matchLengthPtr)
498private unsafe bool IcuEndsWith(ReadOnlySpan<char> source, ReadOnlySpan<char> suffix, CompareOptions options, int* matchLengthPtr)
504Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
508if ((options & CompareOptions.IgnoreCase) != 0)
527private unsafe bool EndsWithOrdinalIgnoreCaseHelper(ReadOnlySpan<char> source, ReadOnlySpan<char> suffix, CompareOptions options, int* matchLengthPtr)
610private unsafe bool EndsWithOrdinalHelper(ReadOnlySpan<char> source, ReadOnlySpan<char> suffix, CompareOptions options, int* matchLengthPtr)
682private unsafe SortKey IcuCreateSortKey(string source, CompareOptions options)
741private unsafe int IcuGetSortKey(ReadOnlySpan<char> source, Span<byte> destination, CompareOptions options)
790private unsafe int IcuGetSortKeyLength(ReadOnlySpan<char> source, CompareOptions options)
845private unsafe int IcuGetHashCodeOfString(ReadOnlySpan<char> source, CompareOptions options)
849Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
926private static CompareOptions GetOrdinalCompareOptions(CompareOptions options)
928if ((options & CompareOptions.IgnoreCase) != 0)
930return CompareOptions.OrdinalIgnoreCase;
934return CompareOptions.Ordinal;
938private static bool CanUseAsciiOrdinalForOptions(CompareOptions options)
941return (options & CompareOptions.IgnoreSymbols) == 0;
src\libraries\System.Private.CoreLib\src\System\Globalization\CompareInfo.Nls.cs (33)
106private unsafe int NlsGetHashCodeOfString(ReadOnlySpan<char> source, CompareOptions options)
110Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
208private unsafe int NlsCompareString(ReadOnlySpan<char> string1, ReadOnlySpan<char> string2, CompareOptions options)
212Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
309private unsafe int NlsIndexOfCore(ReadOnlySpan<char> source, ReadOnlySpan<char> target, CompareOptions options, int* matchLengthPtr, bool fromBeginning)
320private unsafe bool NlsStartsWith(ReadOnlySpan<char> source, ReadOnlySpan<char> prefix, CompareOptions options, int* matchLengthPtr)
326Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
341private unsafe bool NlsEndsWith(ReadOnlySpan<char> source, ReadOnlySpan<char> suffix, CompareOptions options, int* matchLengthPtr)
347Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
369private unsafe SortKey NlsCreateSortKey(string source, CompareOptions options)
423private unsafe int NlsGetSortKey(ReadOnlySpan<char> source, Span<byte> destination, CompareOptions options)
523private unsafe int NlsGetSortKeyLength(ReadOnlySpan<char> source, CompareOptions options)
588private static int GetNativeCompareFlags(CompareOptions options)
593if ((options & CompareOptions.IgnoreCase) != 0) { nativeCompareFlags |= NORM_IGNORECASE; }
594if ((options & CompareOptions.IgnoreKanaType) != 0) { nativeCompareFlags |= NORM_IGNOREKANATYPE; }
595if ((options & CompareOptions.IgnoreNonSpace) != 0) { nativeCompareFlags |= NORM_IGNORENONSPACE; }
596if ((options & CompareOptions.IgnoreSymbols) != 0) { nativeCompareFlags |= NORM_IGNORESYMBOLS; }
597if ((options & CompareOptions.IgnoreWidth) != 0) { nativeCompareFlags |= NORM_IGNOREWIDTH; }
598if ((options & CompareOptions.StringSort) != 0) { nativeCompareFlags |= SORT_STRINGSORT; }
599if ((options & CompareOptions.NumericOrdering) != 0) { nativeCompareFlags |= SORT_DIGITSASNUMBERS; }
605if (options == CompareOptions.Ordinal) { nativeCompareFlags = COMPARE_OPTIONS_ORDINAL; }
607Debug.Assert(((options & ~(CompareOptions.IgnoreCase |
608CompareOptions.IgnoreKanaType |
609CompareOptions.IgnoreNonSpace |
610CompareOptions.IgnoreSymbols |
611CompareOptions.IgnoreWidth |
612CompareOptions.NumericOrdering |
613CompareOptions.StringSort)) == 0) ||
614(options == CompareOptions.Ordinal), "[CompareInfo.GetNativeCompareFlags]Expected all flags to be handled");
src\libraries\System.Private.CoreLib\src\System\Globalization\DateTimeFormatInfo.cs (5)
498if (Culture.CompareInfo.Compare(eraName, m_eraNames[i], CompareOptions.IgnoreCase) == 0)
507if (Culture.CompareInfo.Compare(eraName, m_abbrevEraNames![i], CompareOptions.IgnoreCase) == 0)
516if (CompareInfo.Invariant.Compare(eraName, m_abbrevEnglishEraNames![i], CompareOptions.IgnoreCase) == 0)
2367Culture.CompareInfo.Compare(str.Value.Slice(str.Index, value.tokenString.Length), value.tokenString, CompareOptions.IgnoreCase) == 0))
2519return Culture.CompareInfo.Compare(string1, offset1, length1, string2, offset2, length2, CompareOptions.IgnoreCase) == 0;
src\libraries\System.Private.CoreLib\src\System\String.Comparison.cs (20)
269public static int Compare(string? strA, string? strB, CultureInfo? culture, CompareOptions options)
283CompareOptions options = ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None;
331CompareOptions options = ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None;
342CompareOptions options = ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None;
350public static int Compare(string? strA, int indexA, string? strB, int indexB, int length, CultureInfo? culture, CompareOptions options)
589return referenceCulture.CompareInfo.IsSuffix(this, value, ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None);
1167return referenceCulture.CompareInfo.IsPrefix(this, value, ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None);
1194internal static CompareOptions GetCaseCompareOfComparisonCulture(StringComparison comparisonType)
1211return (CompareOptions)((int)comparisonType & (int)CompareOptions.IgnoreCase);
1214private static CompareOptions GetCompareOptionsFromOrdinalStringComparison(StringComparison comparisonType)
1222return (CompareOptions)((ct & -ct) << 28); // neg and shl
src\libraries\System.Private.CoreLib\src\System\String.Manipulation.cs (5)
1193return ReplaceCore(oldValue, newValue, culture?.CompareInfo, ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None);
1202StringComparison.OrdinalIgnoreCase => ReplaceCore(oldValue, newValue, CompareInfo.Invariant, CompareOptions.OrdinalIgnoreCase),
1206private string ReplaceCore(string oldValue, string? newValue, CompareInfo? ci, CompareOptions options)
1220private static string? ReplaceCore(ReadOnlySpan<char> searchSpace, ReadOnlySpan<char> oldValue, ReadOnlySpan<char> newValue, CompareInfo compareInfo, CompareOptions options)
src\libraries\System.Private.CoreLib\src\System\StringComparer.cs (31)
22new CultureAwareComparer(CultureInfo.CurrentCulture, CompareOptions.None);
25new CultureAwareComparer(CultureInfo.CurrentCulture, CompareOptions.IgnoreCase);
50return new CultureAwareComparer(culture, ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None);
53public static StringComparer Create(CultureInfo culture, CompareOptions options)
117/// <param name="compareOptions">When this method returns, contains a value indicating which <see cref="CompareOptions"/> was used
118/// to create <paramref name="comparer"/>. Set to <see cref="CompareOptions.None"/> if this method returns <see langword="false"/>.</param>
126/// some defined <see cref="CompareOptions"/>. To create a <see cref="StringComparer"/> instance wrapped around a
127/// <see cref="CompareInfo"/> and <see cref="CompareOptions"/>, use <see cref="GlobalizationExtensions.GetStringComparer(CompareInfo, CompareOptions)"/>.
130public static bool IsWellKnownCultureAwareComparer(IEqualityComparer<string?>? comparer, [NotNullWhen(true)] out CompareInfo? compareInfo, out CompareOptions compareOptions)
150private protected virtual bool IsWellKnownCultureAwareComparerCore([NotNullWhen(true)] out CompareInfo? compareInfo, out CompareOptions compareOptions)
217internal static readonly CultureAwareComparer InvariantCaseSensitiveInstance = new CultureAwareComparer(CompareInfo.Invariant, CompareOptions.None);
218internal static readonly CultureAwareComparer InvariantIgnoreCaseInstance = new CultureAwareComparer(CompareInfo.Invariant, CompareOptions.IgnoreCase);
220private const CompareOptions ValidCompareMaskOffFlags =
221~(CompareOptions.IgnoreCase | CompareOptions.IgnoreSymbols | CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreKanaType |
222CompareOptions.IgnoreWidth | CompareOptions.NumericOrdering | CompareOptions.StringSort);
225private readonly CompareOptions _options;
227internal CultureAwareComparer(CultureInfo culture, CompareOptions options) : this(culture.CompareInfo, options) { }
229internal CultureAwareComparer(CompareInfo compareInfo, CompareOptions options)
245object? obj = info.GetValueNoThrow("_options", typeof(CompareOptions));
247_options = (CompareOptions)obj;
250_options |= ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None;
310info.AddValue("_ignoreCase", (_options & CompareOptions.IgnoreCase) != 0);
313private protected override bool IsWellKnownCultureAwareComparerCore([NotNullWhen(true)] out CompareInfo? compareInfo, out CompareOptions compareOptions)
System.Private.Xml (24)
System.Runtime (1)
System.Speech (8)
System.Windows.Forms (4)
System.Windows.Forms.Analyzers.CSharp (1)