563 references to CompareOptions
dotnet-svcutil-lib (4)
Microsoft.Build (5)
Evaluation\Expander.PropertyExpander.cs (4)
118propertyStartIndex = s_invariantCompareInfo.IndexOf(expression, "$(", CompareOptions.Ordinal);
178else if ((expression.Length - (propertyStartIndex + 2)) > 9 && tryExtractRegistryFunction && s_invariantCompareInfo.IndexOf(expression, "Registry:", propertyStartIndex + 2, 9, CompareOptions.OrdinalIgnoreCase) == propertyStartIndex + 2)
189else 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)
240propertyStartIndex = s_invariantCompareInfo.IndexOf(expression, "$(", sourceIndex, CompareOptions.Ordinal);
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)
184var caseInsensitiveIndex = _compareInfo.IndexOf(candidate, patternChunk.Text, CompareOptions.IgnoreCase);
237var caseSensitiveIndex = _compareInfo.IndexOf(candidate, patternChunk.Text, startIndex: caseInsensitiveIndex, CompareOptions.None);
271if (PartStartsWith(candidate, hump, patternChunk.Text, CompareOptions.IgnoreCase))
274isCaseSensitive: PartStartsWith(candidate, hump, patternChunk.Text, CompareOptions.None),
302var caseSensitiveIndex = _compareInfo.IndexOf(candidate, patternChunk.Text, startIndex: caseInsensitiveIndex, CompareOptions.None);
431private bool PartStartsWith(string candidate, TextSpan candidatePart, string pattern, TextSpan patternPart, CompareOptions compareOptions)
452private bool PartStartsWith(string candidate, TextSpan candidatePart, string pattern, CompareOptions compareOptions)
484var camelCaseKindIgnoreCase = TryUpperCaseCamelCaseMatch(candidate, candidateHumps, patternChunk, CompareOptions.IgnoreCase, out var matchedSpansIgnoreCase);
487var camelCaseKind = TryUpperCaseCamelCaseMatch(candidate, candidateHumps, patternChunk, CompareOptions.None, out var matchedSpans);
519CompareOptions compareOption,
Microsoft.VisualBasic.Core (60)
mscorlib (1)
netstandard (1)
NuGet.ProjectModel (1)
PresentationFramework (23)
Roslyn.Diagnostics.CSharp.Analyzers (5)
Roslyn.Diagnostics.VisualBasic.Analyzers (5)
System.Collections.NonGeneric (2)
System.Collections.Specialized (1)
System.CommandLine (1)
System.ComponentModel.TypeConverter (5)
System.Data.Common (34)
System.Data.Odbc (7)
System.Data.OleDb (7)
System.Drawing.Common (1)
System.Globalization (1)
System.Net.HttpListener (1)
System.Private.CoreLib (304)
_generated\2\LibraryImports.g.cs (12)
535internal static unsafe extern partial int CompareString(nint sortHandle, char* lpStr1, int cwStr1Len, char* lpStr2, int cwStr2Len, global::System.Globalization.CompareOptions options);
543internal static unsafe extern partial int IndexOf(nint sortHandle, char* target, int cwTargetLength, char* pSource, int cwSourceLength, global::System.Globalization.CompareOptions options, int* matchLengthPtr);
551internal static unsafe extern partial int LastIndexOf(nint sortHandle, char* target, int cwTargetLength, char* pSource, int cwSourceLength, global::System.Globalization.CompareOptions options, int* matchLengthPtr);
559internal static unsafe partial bool StartsWith(nint sortHandle, char* target, int cwTargetLength, char* source, int cwSourceLength, global::System.Globalization.CompareOptions options, int* matchedLength)
574static extern unsafe int __PInvoke(nint __sortHandle_native, char* __target_native, int __cwTargetLength_native, char* __source_native, int __cwSourceLength_native, global::System.Globalization.CompareOptions __options_native, int* __matchedLength_native);
584internal static unsafe partial bool EndsWith(nint sortHandle, char* target, int cwTargetLength, char* source, int cwSourceLength, global::System.Globalization.CompareOptions options, int* matchedLength)
599static extern unsafe int __PInvoke(nint __sortHandle_native, char* __target_native, int __cwTargetLength_native, char* __source_native, int __cwSourceLength_native, global::System.Globalization.CompareOptions __options_native, int* __matchedLength_native);
609internal static partial bool StartsWith(nint sortHandle, string target, int cwTargetLength, string source, int cwSourceLength, global::System.Globalization.CompareOptions options)
627static extern unsafe int __PInvoke(nint __sortHandle_native, ushort* __target_native, int __cwTargetLength_native, ushort* __source_native, int __cwSourceLength_native, global::System.Globalization.CompareOptions __options_native);
637internal static partial bool EndsWith(nint sortHandle, string target, int cwTargetLength, string source, int cwSourceLength, global::System.Globalization.CompareOptions options)
655static extern unsafe int __PInvoke(nint __sortHandle_native, ushort* __target_native, int __cwTargetLength_native, ushort* __source_native, int __cwSourceLength_native, global::System.Globalization.CompareOptions __options_native);
665internal static unsafe extern partial int GetSortKey(nint sortHandle, char* str, int strLength, byte* sortKey, int sortKeyLength, global::System.Globalization.CompareOptions options);
src\runtime\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\runtime\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 unsafe 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\runtime\src\libraries\System.Private.CoreLib\src\System\Globalization\CompareInfo.Icu.cs (32)
69private unsafe int IcuCompareString(ReadOnlySpan<char> string1, ReadOnlySpan<char> string2, CompareOptions options)
73Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
85private unsafe int IcuIndexOfCore(ReadOnlySpan<char> source, ReadOnlySpan<char> target, CompareOptions options, int* matchLengthPtr, bool fromBeginning)
93if ((options & CompareOptions.IgnoreCase) != 0)
122private unsafe int IndexOfOrdinalIgnoreCaseHelper(ReadOnlySpan<char> source, ReadOnlySpan<char> target, CompareOptions options, int* matchLengthPtr, bool fromBeginning)
237private unsafe int IndexOfOrdinalHelper(ReadOnlySpan<char> source, ReadOnlySpan<char> target, CompareOptions options, int* matchLengthPtr, bool fromBeginning)
332private unsafe bool IcuStartsWith(ReadOnlySpan<char> source, ReadOnlySpan<char> prefix, CompareOptions options, int* matchLengthPtr)
338Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
342if ((options & CompareOptions.IgnoreCase) != 0)
361private unsafe bool StartsWithOrdinalIgnoreCaseHelper(ReadOnlySpan<char> source, ReadOnlySpan<char> prefix, CompareOptions options, int* matchLengthPtr)
443private unsafe bool StartsWithOrdinalHelper(ReadOnlySpan<char> source, ReadOnlySpan<char> prefix, CompareOptions options, int* matchLengthPtr)
516private unsafe bool IcuEndsWith(ReadOnlySpan<char> source, ReadOnlySpan<char> suffix, CompareOptions options, int* matchLengthPtr)
522Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
526if ((options & CompareOptions.IgnoreCase) != 0)
545private unsafe bool EndsWithOrdinalIgnoreCaseHelper(ReadOnlySpan<char> source, ReadOnlySpan<char> suffix, CompareOptions options, int* matchLengthPtr)
628private unsafe bool EndsWithOrdinalHelper(ReadOnlySpan<char> source, ReadOnlySpan<char> suffix, CompareOptions options, int* matchLengthPtr)
700private unsafe SortKey IcuCreateSortKey(string source, CompareOptions options)
759private unsafe int IcuGetSortKey(ReadOnlySpan<char> source, Span<byte> destination, CompareOptions options)
808private unsafe int IcuGetSortKeyLength(ReadOnlySpan<char> source, CompareOptions options)
863private unsafe int IcuGetHashCodeOfString(ReadOnlySpan<char> source, CompareOptions options)
867Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
944private static CompareOptions GetOrdinalCompareOptions(CompareOptions options)
946if ((options & CompareOptions.IgnoreCase) != 0)
948return CompareOptions.OrdinalIgnoreCase;
952return CompareOptions.Ordinal;
956private static bool CanUseAsciiOrdinalForOptions(CompareOptions options)
959return (options & CompareOptions.IgnoreSymbols) == 0;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Globalization\CompareInfo.Nls.cs (33)
107private unsafe int NlsGetHashCodeOfString(ReadOnlySpan<char> source, CompareOptions options)
111Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
196private unsafe int NlsCompareString(ReadOnlySpan<char> string1, ReadOnlySpan<char> string2, CompareOptions options)
200Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
297private unsafe int NlsIndexOfCore(ReadOnlySpan<char> source, ReadOnlySpan<char> target, CompareOptions options, int* matchLengthPtr, bool fromBeginning)
308private unsafe bool NlsStartsWith(ReadOnlySpan<char> source, ReadOnlySpan<char> prefix, CompareOptions options, int* matchLengthPtr)
314Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
329private unsafe bool NlsEndsWith(ReadOnlySpan<char> source, ReadOnlySpan<char> suffix, CompareOptions options, int* matchLengthPtr)
335Debug.Assert((options & (CompareOptions.Ordinal | CompareOptions.OrdinalIgnoreCase)) == 0);
357private unsafe SortKey NlsCreateSortKey(string source, CompareOptions options)
411private unsafe int NlsGetSortKey(ReadOnlySpan<char> source, Span<byte> destination, CompareOptions options)
474private unsafe int NlsGetSortKeyLength(ReadOnlySpan<char> source, CompareOptions options)
539private static int GetNativeCompareFlags(CompareOptions options)
544if ((options & CompareOptions.IgnoreCase) != 0) { nativeCompareFlags |= NORM_IGNORECASE; }
545if ((options & CompareOptions.IgnoreKanaType) != 0) { nativeCompareFlags |= NORM_IGNOREKANATYPE; }
546if ((options & CompareOptions.IgnoreNonSpace) != 0) { nativeCompareFlags |= NORM_IGNORENONSPACE; }
547if ((options & CompareOptions.IgnoreSymbols) != 0) { nativeCompareFlags |= NORM_IGNORESYMBOLS; }
548if ((options & CompareOptions.IgnoreWidth) != 0) { nativeCompareFlags |= NORM_IGNOREWIDTH; }
549if ((options & CompareOptions.StringSort) != 0) { nativeCompareFlags |= SORT_STRINGSORT; }
550if ((options & CompareOptions.NumericOrdering) != 0) { nativeCompareFlags |= SORT_DIGITSASNUMBERS; }
556if (options == CompareOptions.Ordinal) { nativeCompareFlags = COMPARE_OPTIONS_ORDINAL; }
558Debug.Assert(((options & ~(CompareOptions.IgnoreCase |
559CompareOptions.IgnoreKanaType |
560CompareOptions.IgnoreNonSpace |
561CompareOptions.IgnoreSymbols |
562CompareOptions.IgnoreWidth |
563CompareOptions.NumericOrdering |
564CompareOptions.StringSort)) == 0) ||
565(options == CompareOptions.Ordinal), "[CompareInfo.GetNativeCompareFlags]Expected all flags to be handled");
src\runtime\src\libraries\System.Private.CoreLib\src\System\Globalization\DateTimeFormatInfo.cs (5)
492if (Culture.CompareInfo.Compare(eraName, m_eraNames[i], CompareOptions.IgnoreCase) == 0)
501if (Culture.CompareInfo.Compare(eraName, m_abbrevEraNames![i], CompareOptions.IgnoreCase) == 0)
510if (CompareInfo.Invariant.Compare(eraName, m_abbrevEnglishEraNames![i], CompareOptions.IgnoreCase) == 0)
2361Culture.CompareInfo.Compare(str.Value.Slice(str.Index, value.tokenString.Length), value.tokenString, CompareOptions.IgnoreCase) == 0))
2513return Culture.CompareInfo.Compare(string1, offset1, length1, string2, offset2, length2, CompareOptions.IgnoreCase) == 0;
src\runtime\src\libraries\System.Private.CoreLib\src\System\String.Comparison.cs (20)
169public static int Compare(string? strA, string? strB, CultureInfo? culture, CompareOptions options)
183CompareOptions options = ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None;
231CompareOptions options = ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None;
242CompareOptions options = ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None;
250public static int Compare(string? strA, int indexA, string? strB, int indexB, int length, CultureInfo? culture, CompareOptions options)
482return referenceCulture.CompareInfo.IsSuffix(this, value, ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None);
1105return referenceCulture.CompareInfo.IsPrefix(this, value, ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None);
1177internal static CompareOptions GetCaseCompareOfComparisonCulture(StringComparison comparisonType)
1194return (CompareOptions)((int)comparisonType & (int)CompareOptions.IgnoreCase);
1197private static CompareOptions GetCompareOptionsFromOrdinalStringComparison(StringComparison comparisonType)
1205return (CompareOptions)((ct & -ct) << 28); // neg and shl
src\runtime\src\libraries\System.Private.CoreLib\src\System\String.Manipulation.cs (6)
1212return ReplaceCore(oldValue, newValue, culture?.CompareInfo, ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None);
1221StringComparison.OrdinalIgnoreCase => ReplaceCore(oldValue, newValue, CompareInfo.Invariant, CompareOptions.OrdinalIgnoreCase),
1225private string ReplaceCore(string oldValue, string? newValue, CompareInfo? ci, CompareOptions options)
1239private static unsafe string? ReplaceCore(ReadOnlySpan<char> searchSpace, ReadOnlySpan<char> oldValue, ReadOnlySpan<char> newValue, CompareInfo compareInfo, CompareOptions options)
1488return ReplaceCore(this, oldChars, newChars, CompareInfo.Invariant, CompareOptions.Ordinal)
src\runtime\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)
215internal static readonly CultureAwareComparer InvariantCaseSensitiveInstance = new CultureAwareComparer(CompareInfo.Invariant, CompareOptions.None);
216internal static readonly CultureAwareComparer InvariantIgnoreCaseInstance = new CultureAwareComparer(CompareInfo.Invariant, CompareOptions.IgnoreCase);
218private const CompareOptions ValidCompareMaskOffFlags =
219~(CompareOptions.IgnoreCase | CompareOptions.IgnoreSymbols | CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreKanaType |
220CompareOptions.IgnoreWidth | CompareOptions.NumericOrdering | CompareOptions.StringSort);
223private readonly CompareOptions _options;
225internal CultureAwareComparer(CultureInfo culture, CompareOptions options) : this(culture.CompareInfo, options) { }
227internal CultureAwareComparer(CompareInfo compareInfo, CompareOptions options)
243object? obj = info.GetValueNoThrow("_options", typeof(CompareOptions));
245_options = (CompareOptions)obj;
248_options |= ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None;
308info.AddValue("_ignoreCase", (_options & CompareOptions.IgnoreCase) != 0);
311private protected override bool IsWellKnownCultureAwareComparerCore([NotNullWhen(true)] out CompareInfo? compareInfo, out CompareOptions compareOptions)
System.Private.Xml (24)
System.Runtime (1)
System.Speech (33)
System.Windows.Forms (4)
System.Windows.Forms.Analyzers.CSharp (1)