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

◆ CompareWithFamilies()

int System.Data.Common.ObjectStorage.CompareWithFamilies ( object valueNo1,
object valueNo2 )
inlineprivate

Definition at line 167 of file ObjectStorage.cs.

168 {
169 Families family = GetFamily(valueNo1.GetType());
170 Families family2 = GetFamily(valueNo2.GetType());
171 if (family < family2)
172 {
173 return -1;
174 }
175 if (family > family2)
176 {
177 return 1;
178 }
179 switch (family)
180 {
181 case Families.BOOLEAN:
182 valueNo1 = Convert.ToBoolean(valueNo1, base.FormatProvider);
183 valueNo2 = Convert.ToBoolean(valueNo2, base.FormatProvider);
184 break;
185 case Families.DATETIME:
186 valueNo1 = Convert.ToDateTime(valueNo1, base.FormatProvider);
187 valueNo2 = Convert.ToDateTime(valueNo1, base.FormatProvider);
188 break;
189 case Families.NUMBER:
190 valueNo1 = Convert.ToDouble(valueNo1, base.FormatProvider);
191 valueNo2 = Convert.ToDouble(valueNo2, base.FormatProvider);
192 break;
193 case Families.ARRAY:
194 {
197 if (array.Length > array2.Length)
198 {
199 return 1;
200 }
201 if (array.Length < array2.Length)
202 {
203 return -1;
204 }
205 for (int i = 0; i < array.Length; i++)
206 {
207 int num = CompareTo(array.GetValue(i), array2.GetValue(i));
208 if (num != 0)
209 {
210 return num;
211 }
212 }
213 return 0;
214 }
215 default:
216 valueNo1 = valueNo1.ToString();
217 valueNo2 = valueNo2.ToString();
218 break;
219 }
220 return ((IComparable)valueNo1).CompareTo(valueNo2);
221 }
int CompareTo(object valueNo1, object valueNo2)
Families GetFamily(Type dataType)

References System.array, System.Xml.Array, System.Data.Common.ObjectStorage.CompareTo(), System.Data.Common.ObjectStorage.GetFamily(), System.Convert.ToBoolean(), System.Convert.ToDateTime(), and System.Convert.ToDouble().

Referenced by System.Data.Common.ObjectStorage.Compare(), System.Data.Common.ObjectStorage.CompareTo(), and System.Data.Common.ObjectStorage.CompareValueTo().