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

◆ Compare() [10/10]

static int System.String.Compare ( string? strA,
string? strB,
StringComparison comparisonType )
inlinestatic

Definition at line 223 of file String.cs.

224 {
225 if ((object)strA == strB)
226 {
228 return 0;
229 }
230 if ((object)strA == null)
231 {
233 return -1;
234 }
235 if ((object)strB == null)
236 {
238 return 1;
239 }
240 switch (comparisonType)
241 {
242 case StringComparison.CurrentCulture:
243 case StringComparison.CurrentCultureIgnoreCase:
245 case StringComparison.InvariantCulture:
246 case StringComparison.InvariantCultureIgnoreCase:
248 case StringComparison.Ordinal:
249 if (strA._firstChar != strB._firstChar)
250 {
251 return strA._firstChar - strB._firstChar;
252 }
254 case StringComparison.OrdinalIgnoreCase:
255 return Ordinal.CompareStringIgnoreCase(ref strA.GetRawStringData(), strA.Length, ref strB.GetRawStringData(), strB.Length);
256 default:
257 throw new ArgumentException(SR.NotSupported_StringComparison, "comparisonType");
258 }
259 }
static readonly CompareInfo Invariant
static CultureInfo CurrentCulture
static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char strB, int lengthB)
Definition Ordinal.cs:8
static void CheckStringComparison(StringComparison comparisonType)
Definition String.cs:882
static CompareOptions GetCaseCompareOfComparisonCulture(StringComparison comparisonType)
Definition String.cs:890
static int CompareOrdinalHelper(string strA, int indexA, int countA, string strB, int indexB, int countB)
Definition String.cs:116

References System.String.CheckStringComparison(), System.String.CompareOrdinalHelper(), System.Globalization.Ordinal.CompareStringIgnoreCase(), System.comparisonType, System.Globalization.CultureInfo.CurrentCulture, System.String.GetCaseCompareOfComparisonCulture(), System.Globalization.CompareInfo.Invariant, and System.SR.NotSupported_StringComparison.