Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Comparer.cs
Go to the documentation of this file.
4
5namespace System.Collections;
6
8[TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
9public sealed class Comparer : IComparer, ISerializable
10{
11 private readonly CompareInfo _compareInfo;
12
13 public static readonly Comparer Default = new Comparer(CultureInfo.CurrentCulture);
14
16
18 {
19 if (culture == null)
20 {
21 throw new ArgumentNullException("culture");
22 }
24 }
25
27 {
28 if (info == null)
29 {
30 throw new ArgumentNullException("info");
31 }
32 _compareInfo = (CompareInfo)info.GetValue("CompareInfo", typeof(CompareInfo));
33 }
34
36 {
37 if (info == null)
38 {
39 throw new ArgumentNullException("info");
40 }
41 info.AddValue("CompareInfo", _compareInfo);
42 }
43
44 public int Compare(object? a, object? b)
45 {
46 if (a == b)
47 {
48 return 0;
49 }
50 if (a == null)
51 {
52 return -1;
53 }
54 if (b == null)
55 {
56 return 1;
57 }
58 if (a is string @string && b is string string2)
59 {
60 return _compareInfo.Compare(@string, string2);
61 }
63 {
64 return comparable.CompareTo(b);
65 }
67 {
68 return -comparable2.CompareTo(a);
69 }
71 }
72}
readonly CompareInfo _compareInfo
Definition Comparer.cs:11
static readonly Comparer Default
Definition Comparer.cs:13
int Compare(object? a, object? b)
Definition Comparer.cs:44
Comparer(CultureInfo culture)
Definition Comparer.cs:17
void GetObjectData(SerializationInfo info, StreamingContext context)
Definition Comparer.cs:35
static readonly Comparer DefaultInvariant
Definition Comparer.cs:15
Comparer(SerializationInfo info, StreamingContext context)
Definition Comparer.cs:26
int Compare(string? string1, string? string2)
CompareInfo(CultureInfo culture)
static CultureInfo CurrentCulture
static CultureInfo InvariantCulture
static string Argument_ImplementIComparable
Definition SR.cs:34
Definition SR.cs:7