10 int num =
Math.
Min(lengthA, lengthB);
12 ref
char reference = ref strA;
13 ref
char reference2 = ref strB;
15 while (num != 0 && reference <= c && reference2 <= c)
17 if (reference == reference2 || ((reference | 0x20) == (reference2 | 0x20) && (uint)((reference | 0x20) - 97) <= 25u))
20 reference = ref
Unsafe.Add(ref reference, 1);
21 reference2 = ref
Unsafe.Add(ref reference2, 1);
25 int num4 = reference2;
26 if ((uint)(reference - 97) <= 25u)
30 if ((uint)(reference2 - 97) <= 25u)
38 return lengthA - lengthB;
64 ulong num =
Unsafe.ReadUnaligned<ulong>(ref
Unsafe.As<char,
byte>(ref
Unsafe.AddByteOffset(ref charA, zero)));
65 ulong num2 =
Unsafe.ReadUnaligned<ulong>(ref
Unsafe.As<char,
byte>(ref
Unsafe.AddByteOffset(ref charB, zero)));
66 ulong num3 = num | num2;
81 uint num4 =
Unsafe.ReadUnaligned<uint>(ref
Unsafe.As<char,
byte>(ref
Unsafe.AddByteOffset(ref charA, zero)));
82 uint num5 =
Unsafe.ReadUnaligned<uint>(ref
Unsafe.As<char,
byte>(ref
Unsafe.AddByteOffset(ref charB, zero)));
96 uint num6 =
Unsafe.AddByteOffset(ref charA, zero);
97 uint num7 =
Unsafe.AddByteOffset(ref charB, zero);
98 if ((num6 | num7) > 127)
111 if (num6 != (num7 | 0x20))
153 if (
value.Length == 0)
174 if (
value.Length == 0)
static int NlsIndexOfOrdinalCore(ReadOnlySpan< char > source, ReadOnlySpan< char > value, bool ignoreCase, bool fromBeginning)
static unsafe int NlsCompareStringOrdinalIgnoreCase(ref char string1, int count1, ref char string2, int count2)
static unsafe int IndexOfIgnoreCase(ReadOnlySpan< char > source, ReadOnlySpan< char > value)
static unsafe int LastIndexOfIgnoreCase(ReadOnlySpan< char > source, ReadOnlySpan< char > value)
static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char strB, int lengthB)
static char ToUpper(char c)
static void ToUpperOrdinal(ReadOnlySpan< char > source, Span< char > destination)
static unsafe int LastIndexOf(ReadOnlySpan< char > source, ReadOnlySpan< char > value)
static unsafe int IndexOf(ReadOnlySpan< char > source, ReadOnlySpan< char > value)
static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char strB, int lengthB)
static int IndexOf(string source, string value, int startIndex, int count, bool ignoreCase)
static int IndexOfOrdinalIgnoreCase(ReadOnlySpan< char > source, ReadOnlySpan< char > value)
static bool EqualsIgnoreCase(ref char charA, ref char charB, int length)
static int LastIndexOfOrdinalIgnoreCase(ReadOnlySpan< char > source, ReadOnlySpan< char > value)
static int ToUpperOrdinal(ReadOnlySpan< char > source, Span< char > destination)
static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char strB, int lengthB)
static int CompareStringIgnoreCaseNonAscii(ref char strA, int lengthA, ref char strB, int lengthB)
static readonly TextInfo Invariant
static byte Min(byte val1, byte val2)
static string InvalidOperation_SpanOverlappedOperation
static bool UInt32OrdinalIgnoreCaseAscii(uint valueA, uint valueB)
static bool AllCharsInUInt32AreAscii(uint value)
static bool UInt64OrdinalIgnoreCaseAscii(ulong valueA, ulong valueB)
static void ThrowArgumentOutOfRangeException(System.ExceptionArgument argument)
static void ThrowArgumentNullException(string name)
static readonly IntPtr Zero