Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ InvariantCreateSortKeyOrdinalIgnoreCase()

static void System.Globalization.CompareInfo.InvariantCreateSortKeyOrdinalIgnoreCase ( ReadOnlySpan< char > source,
Span< byte > sortKey )
inlinestaticprivate

Definition at line 1842 of file CompareInfo.cs.

1843 {
1844 for (int i = 0; i < source.Length; i++)
1845 {
1846 char c = source[i];
1847 if (char.IsHighSurrogate(c) && i < source.Length - 1)
1848 {
1849 char c2 = source[i + 1];
1850 if (char.IsLowSurrogate(c2))
1851 {
1852 SurrogateCasing.ToUpper(c, c2, out var hr, out var lr);
1855 i++;
1856 sortKey = sortKey.Slice(4);
1857 continue;
1858 }
1859 }
1860 BinaryPrimitives.WriteUInt16BigEndian(sortKey, InvariantModeCasing.ToUpper(c));
1861 sortKey = sortKey.Slice(2);
1862 }
1863 }
static void WriteUInt16BigEndian(Span< byte > destination, ushort value)

References System.source, System.Globalization.InvariantModeCasing.ToUpper(), System.Globalization.SurrogateCasing.ToUpper(), and System.Buffers.Binary.BinaryPrimitives.WriteUInt16BigEndian().

Referenced by System.Globalization.CompareInfo.InvariantCreateSortKey(), and System.Globalization.CompareInfo.InvariantGetSortKey().