11 [StructLayout(
LayoutKind.Sequential, Size = 1)]
28 object ITuple.this[
int index]
40 public override bool Equals(
object obj)
137 string IValueTupleInternal.ToStringEnd()
166 public static (
T1, T2) Create<T1, T2>(T1 item1, T2 item2)
168 return (item1, item2);
179 public static (T1, T2, T3) Create<T1, T2, T3>(T1 item1, T2 item2, T3 item3)
181 return (item1, item2, item3);
194 public static (T1, T2, T3, T4) Create<T1, T2, T3, T4>(T1 item1, T2 item2, T3 item3, T4 item4)
196 return (item1, item2, item3, item4);
211 public static (
T1, T2, T3, T4, T5) Create<T1, T2, T3, T4, T5>(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5)
213 return (item1, item2, item3, item4, item5);
230 public static (
T1, T2, T3, T4, T5, T6) Create<T1, T2, T3, T4, T5, T6>(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6)
232 return (item1, item2, item3, item4, item5, item6);
251 public static (
T1, T2, T3, T4, T5, T6, T7) Create<T1, T2, T3, T4, T5, T6, T7>(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7)
253 return (item1, item2, item3, item4, item5, item6, item7);
274 public static (
T1, T2, T3, T4, T5, T6, T7, T8) Create<T1, T2, T3, T4, T5, T6, T7, T8>(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8)
276 return new ValueTuple<T1, T2, T3, T4, T5, T6, T7, ValueTuple<T8>>(item1, item2, item3, item4, item5, item6, item7,
Create(item8));
279 internal static int CombineHashCodes(
int h1,
int h2)
284 internal static int CombineHashCodes(
int h1,
int h2,
int h3)
286 return CombineHashCodes(CombineHashCodes(h1, h2), h3);
289 internal static int CombineHashCodes(
int h1,
int h2,
int h3,
int h4)
291 return CombineHashCodes(CombineHashCodes(h1, h2, h3), h4);
294 internal static int CombineHashCodes(
int h1,
int h2,
int h3,
int h4,
int h5)
296 return CombineHashCodes(CombineHashCodes(h1, h2, h3, h4), h5);
299 internal static int CombineHashCodes(
int h1,
int h2,
int h3,
int h4,
int h5,
int h6)
301 return CombineHashCodes(CombineHashCodes(h1, h2, h3, h4, h5), h6);
304 internal static int CombineHashCodes(
int h1,
int h2,
int h3,
int h4,
int h5,
int h6,
int h7)
306 return CombineHashCodes(CombineHashCodes(h1, h2, h3, h4, h5, h6), h7);
309 internal static int CombineHashCodes(
int h1,
int h2,
int h3,
int h4,
int h5,
int h6,
int h7,
int h8)
311 return CombineHashCodes(CombineHashCodes(h1, h2, h3, h4, h5, h6, h7), h8);
338 object ITuple.this[
int index]
391 return comparer.
Equals(Item1, valueTuple.Item1);
442 return comparer.
Compare(Item1, valueTuple.Item1);
469 ref
T1 reference = ref Item1;
470 T1 val =
default(
T1);
482 str = reference.ToString();
485 return "(" + (string)str +
")";
488 string IValueTupleInternal.ToStringEnd()
490 ref T1 reference = ref Item1;
491 T1 val =
default(T1);
503 str = reference.ToString();
506 return (
string)str +
")";
539 object ITuple.this[
int index]
577 public bool Equals((T1, T2) other)
593 if (other ==
null || !(other is(
T1, T2)))
597 (
T1, T2) valueTuple = ((
T1, T2))other;
598 if (comparer.
Equals(Item1, valueTuple.Item1))
600 return comparer.
Equals(Item2, valueTuple.Item2);
614 if (!(other is(
T1, T2)))
616 throw new ArgumentException(
Environment.GetResourceString(
"ArgumentException_ValueTupleIncorrectType", (((
T1, T2))
this).GetType().ToString()),
"other");
621 public int CompareTo((T1, T2) other)
641 if (!(other is(
T1, T2)))
643 throw new ArgumentException(
Environment.GetResourceString(
"ArgumentException_ValueTupleIncorrectType", (((
T1, T2))
this).GetType().ToString()),
"other");
645 (
T1, T2) valueTuple = ((
T1, T2))other;
646 int num = comparer.
Compare(Item1, valueTuple.Item1);
651 return comparer.
Compare(Item2, valueTuple.Item2);
666 return GetHashCodeCore(comparer);
676 return GetHashCodeCore(comparer);
683 string[] obj =
new string[5]
691 ref
T1 reference = ref Item1;
692 T1 val =
default(
T1);
704 obj2 = reference.ToString();
707 obj[1] = (string)obj2;
709 ref T2 reference2 = ref Item2;
710 T2 val2 =
default(T2);
715 reference2 = ref val2;
722 obj3 = reference2.ToString();
725 obj[3] = (string)obj3;
727 return string.Concat(obj);
730 string IValueTupleInternal.ToStringEnd()
732 ref T1 reference = ref Item1;
733 T1 val =
default(T1);
745 str = reference.ToString();
748 ref T2 reference2 = ref Item2;
749 T2 val2 =
default(T2);
754 reference2 = ref val2;
761 str2 = reference2.ToString();
764 return (
string)str +
", " + (string)str2 +
")";
773 public struct ValueTuple<T1, T2, T3> :
IEquatable<(T1, T2, T3)>,
IStructuralEquatable,
IStructuralComparable,
IComparable,
IComparable<(T1, T2, T3)>, IValueTupleInternal,
ITuple 802 object ITuple.this[
int index]
837 if (obj is(
T1, T2, T3))
844 public bool Equals((T1, T2, T3) other)
860 if (other ==
null || !(other is(
T1, T2, T3)))
864 (
T1, T2, T3) valueTuple = ((
T1, T2, T3))other;
865 if (comparer.
Equals(Item1, valueTuple.Item1) && comparer.
Equals(Item2, valueTuple.Item2))
867 return comparer.
Equals(Item3, valueTuple.Item3);
881 if (!(other is(
T1, T2, T3)))
883 throw new ArgumentException(
Environment.GetResourceString(
"ArgumentException_ValueTupleIncorrectType", (((
T1, T2, T3))
this).GetType().ToString()),
"other");
888 public int CompareTo((T1, T2, T3) other)
913 if (!(other is(
T1, T2, T3)))
915 throw new ArgumentException(
Environment.GetResourceString(
"ArgumentException_ValueTupleIncorrectType", (((
T1, T2, T3))
this).GetType().ToString()),
"other");
917 (
T1, T2, T3) valueTuple = ((
T1, T2, T3))other;
918 int num = comparer.
Compare(Item1, valueTuple.Item1);
923 num = comparer.
Compare(Item2, valueTuple.Item2);
928 return comparer.
Compare(Item3, valueTuple.Item3);
943 return GetHashCodeCore(comparer);
953 return GetHashCodeCore(comparer);
960 string[] obj =
new string[7]
970 ref
T1 reference = ref Item1;
971 T1 val =
default(
T1);
983 obj2 = reference.ToString();
987 obj[3] = (string)obj3;
989 ref T3 reference2 = ref Item3;
990 T3 val2 =
default(T3);
995 reference2 = ref val2;
1002 obj4 = reference2.ToString();
1005 obj[5] = (string)obj4;
1007 return string.Concat(obj);
1009 obj[1] = (string)obj2;
1011 ref T2 reference3 = ref Item2;
1012 T2 val3 =
default(T2);
1016 reference3 = ref val3;
1023 obj3 = reference3.ToString();
1027 string IValueTupleInternal.ToStringEnd()
1029 string[] obj =
new string[6];
1030 ref T1 reference = ref Item1;
1031 T1 val =
default(T1);
1036 reference = ref val;
1043 obj2 = reference.ToString();
1047 obj[2] = (string)obj3;
1049 ref T3 reference2 = ref Item3;
1050 T3 val2 =
default(T3);
1055 reference2 = ref val2;
1062 obj4 = reference2.ToString();
1065 obj[4] = (string)obj4;
1067 return string.Concat(obj);
1069 obj[0] = (string)obj2;
1071 ref T2 reference3 = ref Item2;
1072 T2 val3 =
default(T2);
1076 reference3 = ref val3;
1083 obj3 = reference3.ToString();
1094 public struct ValueTuple<T1, T2, T3, T4> :
IEquatable<(T1, T2, T3, T4)>,
IStructuralEquatable,
IStructuralComparable,
IComparable,
IComparable<(T1, T2, T3, T4)>, IValueTupleInternal,
ITuple 1127 object ITuple.this[
int index]
1166 if (obj is(
T1, T2, T3, T4))
1168 return Equals(((
T1, T2, T3, T4))obj);
1173 public bool Equals((T1, T2, T3, T4) other)
1189 if (other ==
null || !(other is(
T1, T2, T3, T4)))
1193 (
T1, T2, T3, T4) valueTuple = ((
T1, T2, T3, T4))other;
1194 if (comparer.
Equals(Item1, valueTuple.Item1) && comparer.
Equals(Item2, valueTuple.Item2) && comparer.
Equals(Item3, valueTuple.Item3))
1196 return comparer.
Equals(Item4, valueTuple.Item4);
1210 if (!(other is(
T1, T2, T3, T4)))
1212 throw new ArgumentException(
Environment.GetResourceString(
"ArgumentException_ValueTupleIncorrectType", (((
T1, T2, T3, T4))
this).GetType().ToString()),
"other");
1217 public int CompareTo((T1, T2, T3, T4) other)
1247 if (!(other is(
T1, T2, T3, T4)))
1249 throw new ArgumentException(
Environment.GetResourceString(
"ArgumentException_ValueTupleIncorrectType", (((
T1, T2, T3, T4))
this).GetType().ToString()),
"other");
1251 (
T1, T2, T3, T4) valueTuple = ((
T1, T2, T3, T4))other;
1252 int num = comparer.
Compare(Item1, valueTuple.Item1);
1257 num = comparer.
Compare(Item2, valueTuple.Item2);
1262 num = comparer.
Compare(Item3, valueTuple.Item3);
1267 return comparer.
Compare(Item4, valueTuple.Item4);
1282 return GetHashCodeCore(comparer);
1292 return GetHashCodeCore(comparer);
1299 string[] obj =
new string[9]
1311 ref
T1 reference = ref Item1;
1312 T1 val =
default(
T1);
1317 reference = ref val;
1324 obj2 = reference.ToString();
1328 obj[7] = (string)obj3;
1330 return string.Concat(obj);
1333 obj[3] = (string)obj4;
1335 ref T3 reference2 = ref Item3;
1336 T3 val2 =
default(T3);
1341 reference2 = ref val2;
1348 obj5 = reference2.ToString();
1351 obj[5] = (string)obj5;
1353 ref T4 reference3 = ref Item4;
1354 T4 val3 =
default(T4);
1358 reference3 = ref val3;
1365 obj3 = reference3.ToString();
1368 obj[1] = (string)obj2;
1370 ref T2 reference4 = ref Item2;
1371 T2 val4 =
default(T2);
1375 reference4 = ref val4;
1382 obj4 = reference4.ToString();
1386 string IValueTupleInternal.ToStringEnd()
1388 string[] obj =
new string[8];
1389 ref T1 reference = ref Item1;
1390 T1 val =
default(T1);
1395 reference = ref val;
1402 obj2 = reference.ToString();
1406 obj[6] = (string)obj3;
1408 return string.Concat(obj);
1411 obj[2] = (string)obj4;
1413 ref T3 reference2 = ref Item3;
1414 T3 val2 =
default(T3);
1419 reference2 = ref val2;
1426 obj5 = reference2.ToString();
1429 obj[4] = (string)obj5;
1431 ref T4 reference3 = ref Item4;
1432 T4 val3 =
default(T4);
1436 reference3 = ref val3;
1443 obj3 = reference3.ToString();
1446 obj[0] = (string)obj2;
1448 ref T2 reference4 = ref Item2;
1449 T2 val4 =
default(T2);
1453 reference4 = ref val4;
1460 obj4 = reference4.ToString();
1472 public struct ValueTuple<T1, T2, T3, T4, T5> :
IEquatable<(T1, T2, T3, T4, T5)>,
IStructuralEquatable,
IStructuralComparable,
IComparable,
IComparable<(T1, T2, T3, T4, T5)>, IValueTupleInternal,
ITuple 1509 object ITuple.this[
int index]
1537 public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5)
1552 if (obj is(
T1, T2, T3, T4, T5))
1554 return Equals(((
T1, T2, T3, T4, T5))obj);
1559 public bool Equals((T1, T2, T3, T4, T5) other)
1575 if (other ==
null || !(other is(
T1, T2, T3, T4, T5)))
1579 (
T1, T2, T3, T4, T5) valueTuple = ((
T1, T2, T3, T4, T5))other;
1580 if (comparer.
Equals(Item1, valueTuple.Item1) && comparer.
Equals(Item2, valueTuple.Item2) && comparer.
Equals(Item3, valueTuple.Item3) && comparer.
Equals(Item4, valueTuple.Item4))
1582 return comparer.
Equals(Item5, valueTuple.Item5);
1596 if (!(other is(
T1, T2, T3, T4, T5)))
1598 throw new ArgumentException(
Environment.GetResourceString(
"ArgumentException_ValueTupleIncorrectType", (((
T1, T2, T3, T4, T5))
this).GetType().ToString()),
"other");
1603 public int CompareTo((T1, T2, T3, T4, T5) other)
1638 if (!(other is(
T1, T2, T3, T4, T5)))
1640 throw new ArgumentException(
Environment.GetResourceString(
"ArgumentException_ValueTupleIncorrectType", (((
T1, T2, T3, T4, T5))
this).GetType().ToString()),
"other");
1642 (
T1, T2, T3, T4, T5) valueTuple = ((
T1, T2, T3, T4, T5))other;
1643 int num = comparer.
Compare(Item1, valueTuple.Item1);
1648 num = comparer.
Compare(Item2, valueTuple.Item2);
1653 num = comparer.
Compare(Item3, valueTuple.Item3);
1658 num = comparer.
Compare(Item4, valueTuple.Item4);
1663 return comparer.
Compare(Item5, valueTuple.Item5);
1678 return GetHashCodeCore(comparer);
1688 return GetHashCodeCore(comparer);
1695 string[] obj =
new string[11]
1709 ref
T1 reference = ref Item1;
1710 T1 val =
default(
T1);
1715 reference = ref val;
1722 obj2 = reference.ToString();
1726 obj[7] = (string)obj3;
1728 ref T5 reference2 = ref Item5;
1729 T5 val2 =
default(T5);
1734 reference2 = ref val2;
1741 obj4 = reference2.ToString();
1745 obj[3] = (string)obj5;
1747 ref T3 reference3 = ref Item3;
1748 T3 val3 =
default(T3);
1753 reference3 = ref val3;
1760 obj6 = reference3.ToString();
1763 obj[5] = (string)obj6;
1765 ref T4 reference4 = ref Item4;
1766 T4 val4 =
default(T4);
1770 reference4 = ref val4;
1777 obj3 = reference4.ToString();
1780 obj[1] = (string)obj2;
1782 ref T2 reference5 = ref Item2;
1783 T2 val5 =
default(T2);
1787 reference5 = ref val5;
1794 obj5 = reference5.ToString();
1797 obj[9] = (string)obj4;
1799 return string.Concat(obj);
1802 string IValueTupleInternal.ToStringEnd()
1804 string[] obj =
new string[10];
1805 ref T1 reference = ref Item1;
1806 T1 val =
default(T1);
1811 reference = ref val;
1818 obj2 = reference.ToString();
1822 obj[6] = (string)obj3;
1824 ref T5 reference2 = ref Item5;
1825 T5 val2 =
default(T5);
1830 reference2 = ref val2;
1837 obj4 = reference2.ToString();
1841 obj[2] = (string)obj5;
1843 ref T3 reference3 = ref Item3;
1844 T3 val3 =
default(T3);
1849 reference3 = ref val3;
1856 obj6 = reference3.ToString();
1859 obj[4] = (string)obj6;
1861 ref T4 reference4 = ref Item4;
1862 T4 val4 =
default(T4);
1866 reference4 = ref val4;
1873 obj3 = reference4.ToString();
1876 obj[0] = (string)obj2;
1878 ref T2 reference5 = ref Item2;
1879 T2 val5 =
default(T2);
1883 reference5 = ref val5;
1890 obj5 = reference5.ToString();
1893 obj[8] = (string)obj4;
1895 return string.Concat(obj);
1907 public struct ValueTuple<T1, T2, T3, T4, T5, T6> :
IEquatable<(T1, T2, T3, T4, T5, T6)>,
IStructuralEquatable,
IStructuralComparable,
IComparable,
IComparable<(T1, T2, T3, T4, T5, T6)>, IValueTupleInternal,
ITuple 1948 object ITuple.this[
int index]
1979 public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6)
1995 if (obj is(
T1, T2, T3, T4, T5, T6))
1997 return Equals(((
T1, T2, T3, T4, T5, T6))obj);
2002 public bool Equals((T1, T2, T3, T4, T5, T6) other)
2018 if (other ==
null || !(other is(
T1, T2, T3, T4, T5, T6)))
2022 (
T1, T2, T3, T4, T5, T6) valueTuple = ((
T1, T2, T3, T4, T5, T6))other;
2023 if (comparer.
Equals(Item1, valueTuple.Item1) && comparer.
Equals(Item2, valueTuple.Item2) && comparer.
Equals(Item3, valueTuple.Item3) && comparer.
Equals(Item4, valueTuple.Item4) && comparer.
Equals(Item5, valueTuple.Item5))
2025 return comparer.
Equals(Item6, valueTuple.Item6);
2039 if (!(other is(
T1, T2, T3, T4, T5, T6)))
2041 throw new ArgumentException(
Environment.GetResourceString(
"ArgumentException_ValueTupleIncorrectType", (((
T1, T2, T3, T4, T5, T6))
this).GetType().ToString()),
"other");
2043 return CompareTo(((
T1, T2, T3, T4, T5, T6))other);
2046 public int CompareTo((T1, T2, T3, T4, T5, T6) other)
2086 if (!(other is(
T1, T2, T3, T4, T5, T6)))
2088 throw new ArgumentException(
Environment.GetResourceString(
"ArgumentException_ValueTupleIncorrectType", (((
T1, T2, T3, T4, T5, T6))
this).GetType().ToString()),
"other");
2090 (
T1, T2, T3, T4, T5, T6) valueTuple = ((
T1, T2, T3, T4, T5, T6))other;
2091 int num = comparer.
Compare(Item1, valueTuple.Item1);
2096 num = comparer.
Compare(Item2, valueTuple.Item2);
2101 num = comparer.
Compare(Item3, valueTuple.Item3);
2106 num = comparer.
Compare(Item4, valueTuple.Item4);
2111 num = comparer.
Compare(Item5, valueTuple.Item5);
2116 return comparer.
Compare(Item6, valueTuple.Item6);
2131 return GetHashCodeCore(comparer);
2141 return GetHashCodeCore(comparer);
2148 string[] obj =
new string[13]
2164 ref
T1 reference = ref Item1;
2165 T1 val =
default(
T1);
2170 reference = ref val;
2177 obj2 = reference.ToString();
2181 obj[3] = (string)obj3;
2183 ref T3 reference2 = ref Item3;
2184 T3 val2 =
default(T3);
2189 reference2 = ref val2;
2196 obj4 = reference2.ToString();
2200 obj[11] = (string)obj5;
2202 return string.Concat(obj);
2205 obj[7] = (string)obj6;
2207 ref T5 reference3 = ref Item5;
2208 T5 val3 =
default(T5);
2213 reference3 = ref val3;
2220 obj7 = reference3.ToString();
2223 obj[1] = (string)obj2;
2225 ref T2 reference4 = ref Item2;
2226 T2 val4 =
default(T2);
2230 reference4 = ref val4;
2237 obj3 = reference4.ToString();
2240 obj[9] = (string)obj7;
2242 ref T6 reference5 = ref Item6;
2243 T6 val5 =
default(T6);
2247 reference5 = ref val5;
2254 obj5 = reference5.ToString();
2257 obj[5] = (string)obj4;
2259 ref T4 reference6 = ref Item4;
2260 T4 val6 =
default(T4);
2264 reference6 = ref val6;
2271 obj6 = reference6.ToString();
2275 string IValueTupleInternal.ToStringEnd()
2277 string[] obj =
new string[12];
2278 ref T1 reference = ref Item1;
2279 T1 val =
default(T1);
2284 reference = ref val;
2291 obj2 = reference.ToString();
2295 obj[2] = (string)obj3;
2297 ref T3 reference2 = ref Item3;
2298 T3 val2 =
default(T3);
2303 reference2 = ref val2;
2310 obj4 = reference2.ToString();
2314 obj[10] = (string)obj5;
2316 return string.Concat(obj);
2319 obj[6] = (string)obj6;
2321 ref T5 reference3 = ref Item5;
2322 T5 val3 =
default(T5);
2327 reference3 = ref val3;
2334 obj7 = reference3.ToString();
2337 obj[0] = (string)obj2;
2339 ref T2 reference4 = ref Item2;
2340 T2 val4 =
default(T2);
2344 reference4 = ref val4;
2351 obj3 = reference4.ToString();
2354 obj[8] = (string)obj7;
2356 ref T6 reference5 = ref Item6;
2357 T6 val5 =
default(T6);
2361 reference5 = ref val5;
2368 obj5 = reference5.ToString();
2371 obj[4] = (string)obj4;
2373 ref T4 reference6 = ref Item4;
2374 T4 val6 =
default(T4);
2378 reference6 = ref val6;
2385 obj6 = reference6.ToString();
2399 public struct ValueTuple<T1, T2, T3, T4, T5, T6, T7> :
IEquatable<(T1, T2, T3, T4, T5, T6, T7)>,
IStructuralEquatable,
IStructuralComparable,
IComparable,
IComparable<(T1, T2, T3, T4, T5, T6, T7)>, IValueTupleInternal,
ITuple 2446 object ITuple.this[
int index]
2480 public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7)
2497 if (obj is(
T1, T2, T3, T4, T5, T6, T7))
2499 return Equals(((
T1, T2, T3, T4, T5, T6, T7))obj);
2504 public bool Equals((T1, T2, T3, T4, T5, T6, T7) other)
2520 if (other ==
null || !(other is(
T1, T2, T3, T4, T5, T6, T7)))
2524 (
T1, T2, T3, T4, T5, T6, T7) valueTuple = ((
T1, T2, T3, T4, T5, T6, T7))other;
2525 if (comparer.
Equals(Item1, valueTuple.Item1) && comparer.
Equals(Item2, valueTuple.Item2) && comparer.
Equals(Item3, valueTuple.Item3) && comparer.
Equals(Item4, valueTuple.Item4) && comparer.
Equals(Item5, valueTuple.Item5) && comparer.
Equals(Item6, valueTuple.Item6))
2527 return comparer.
Equals(Item7, valueTuple.Item7);
2541 if (!(other is(
T1, T2, T3, T4, T5, T6, T7)))
2543 throw new ArgumentException(
Environment.GetResourceString(
"ArgumentException_ValueTupleIncorrectType", (((
T1, T2, T3, T4, T5, T6, T7))
this).GetType().ToString()),
"other");
2545 return CompareTo(((
T1, T2, T3, T4, T5, T6, T7))other);
2548 public int CompareTo((T1, T2, T3, T4, T5, T6, T7) other)
2593 if (!(other is(
T1, T2, T3, T4, T5, T6, T7)))
2595 throw new ArgumentException(
Environment.GetResourceString(
"ArgumentException_ValueTupleIncorrectType", (((
T1, T2, T3, T4, T5, T6, T7))
this).GetType().ToString()),
"other");
2597 (
T1, T2, T3, T4, T5, T6, T7) valueTuple = ((
T1, T2, T3, T4, T5, T6, T7))other;
2598 int num = comparer.
Compare(Item1, valueTuple.Item1);
2603 num = comparer.
Compare(Item2, valueTuple.Item2);
2608 num = comparer.
Compare(Item3, valueTuple.Item3);
2613 num = comparer.
Compare(Item4, valueTuple.Item4);
2618 num = comparer.
Compare(Item5, valueTuple.Item5);
2623 num = comparer.
Compare(Item6, valueTuple.Item6);
2628 return comparer.
Compare(Item7, valueTuple.Item7);
2643 return GetHashCodeCore(comparer);
2653 return GetHashCodeCore(comparer);
2660 string[] obj =
new string[15]
2678 ref
T1 reference = ref Item1;
2679 T1 val =
default(
T1);
2684 reference = ref val;
2691 obj2 = reference.ToString();
2695 obj[11] = (string)obj3;
2697 ref T7 reference2 = ref Item7;
2698 T7 val2 =
default(T7);
2703 reference2 = ref val2;
2710 obj4 = reference2.ToString();
2714 obj[7] = (string)obj5;
2716 ref T5 reference3 = ref Item5;
2717 T5 val3 =
default(T5);
2722 reference3 = ref val3;
2729 obj6 = reference3.ToString();
2733 obj[3] = (string)obj7;
2735 ref T3 reference4 = ref Item3;
2736 T3 val4 =
default(T3);
2741 reference4 = ref val4;
2748 obj8 = reference4.ToString();
2751 obj[1] = (string)obj2;
2753 ref T2 reference5 = ref Item2;
2754 T2 val5 =
default(T2);
2758 reference5 = ref val5;
2765 obj7 = reference5.ToString();
2768 obj[5] = (string)obj8;
2770 ref T4 reference6 = ref Item4;
2771 T4 val6 =
default(T4);
2775 reference6 = ref val6;
2782 obj5 = reference6.ToString();
2785 obj[13] = (string)obj4;
2787 return string.Concat(obj);
2789 obj[9] = (string)obj6;
2791 ref T6 reference7 = ref Item6;
2792 T6 val7 =
default(T6);
2796 reference7 = ref val7;
2803 obj3 = reference7.ToString();
2807 string IValueTupleInternal.ToStringEnd()
2809 string[] obj =
new string[14];
2810 ref T1 reference = ref Item1;
2811 T1 val =
default(T1);
2816 reference = ref val;
2823 obj2 = reference.ToString();
2827 obj[10] = (string)obj3;
2829 ref T7 reference2 = ref Item7;
2830 T7 val2 =
default(T7);
2835 reference2 = ref val2;
2842 obj4 = reference2.ToString();
2846 obj[6] = (string)obj5;
2848 ref T5 reference3 = ref Item5;
2849 T5 val3 =
default(T5);
2854 reference3 = ref val3;
2861 obj6 = reference3.ToString();
2865 obj[2] = (string)obj7;
2867 ref T3 reference4 = ref Item3;
2868 T3 val4 =
default(T3);
2873 reference4 = ref val4;
2880 obj8 = reference4.ToString();
2883 obj[0] = (string)obj2;
2885 ref T2 reference5 = ref Item2;
2886 T2 val5 =
default(T2);
2890 reference5 = ref val5;
2897 obj7 = reference5.ToString();
2900 obj[4] = (string)obj8;
2902 ref T4 reference6 = ref Item4;
2903 T4 val6 =
default(T4);
2907 reference6 = ref val6;
2914 obj5 = reference6.ToString();
2917 obj[12] = (string)obj4;
2919 return string.Concat(obj);
2921 obj[8] = (string)obj6;
2923 ref T6 reference7 = ref Item6;
2924 T6 val7 =
default(T6);
2928 reference7 = ref val7;
2935 obj3 = reference7.ToString();
2950 public struct ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> :
IEquatable<ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>>,
IStructuralEquatable,
IStructuralComparable,
IComparable,
IComparable<ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>>, IValueTupleInternal,
ITuple where TRest : struct
2990 IValueTupleInternal valueTupleInternal = Rest as IValueTupleInternal;
2991 if (valueTupleInternal !=
null)
2993 return 7 + valueTupleInternal.Length;
3004 object ITuple.this[
int index]
3026 IValueTupleInternal valueTupleInternal = Rest as IValueTupleInternal;
3027 if (valueTupleInternal ==
null)
3033 throw new IndexOutOfRangeException();
3035 return valueTupleInternal[index - 7];
3052 public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, TRest rest)
3054 if (!(((
object)rest) is IValueTupleInternal))
3105 ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> valueTuple = (
ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>)other;
3106 if (comparer.
Equals(Item1, valueTuple.Item1) && comparer.
Equals(Item2, valueTuple.Item2) && comparer.
Equals(Item3, valueTuple.Item3) && comparer.
Equals(Item4, valueTuple.Item4) && comparer.
Equals(Item5, valueTuple.Item5) && comparer.
Equals(Item6, valueTuple.Item6) && comparer.
Equals(Item7, valueTuple.Item7))
3108 return comparer.
Equals(Rest, valueTuple.Rest);
3190 ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> valueTuple = (
ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>)other;
3191 int num = comparer.
Compare(Item1, valueTuple.Item1);
3196 num = comparer.
Compare(Item2, valueTuple.Item2);
3201 num = comparer.
Compare(Item3, valueTuple.Item3);
3206 num = comparer.
Compare(Item4, valueTuple.Item4);
3211 num = comparer.
Compare(Item5, valueTuple.Item5);
3216 num = comparer.
Compare(Item6, valueTuple.Item6);
3221 num = comparer.
Compare(Item7, valueTuple.Item7);
3226 return comparer.
Compare(Rest, valueTuple.Rest);
3233 IValueTupleInternal valueTupleInternal = Rest as IValueTupleInternal;
3234 if (valueTupleInternal ==
null)
3238 int length = valueTupleInternal.Length;
3241 return valueTupleInternal.GetHashCode();
3270 return GetHashCodeCore(comparer);
3275 IValueTupleInternal valueTupleInternal = Rest as IValueTupleInternal;
3276 if (valueTupleInternal ==
null)
3280 int length = valueTupleInternal.Length;
3283 return valueTupleInternal.GetHashCode(comparer);
3288 return ValueTuple.CombineHashCodes(comparer.
GetHashCode(Item7), valueTupleInternal.GetHashCode(comparer));
3309 return GetHashCodeCore(comparer);
3316 IValueTupleInternal valueTupleInternal = Rest as IValueTupleInternal;
3320 if (valueTupleInternal ==
null)
3322 obj =
new string[17]
3342 ref
T1 reference = ref Item1;
3347 reference = ref val;
3354 obj2 = reference.ToString();
3357 string[] obj3 =
new string[16]
3376 ref
T1 reference2 = ref Item1;
3382 reference2 = ref val;
3389 obj4 = reference2.ToString();
3393 obj3[5] = (string)obj5;
3395 ref T4 reference3 = ref Item4;
3396 T4 val2 =
default(T4);
3401 reference3 = ref val2;
3408 obj6 = reference3.ToString();
3412 obj3[13] = (string)obj7;
3414 obj3[15] = valueTupleInternal.ToStringEnd();
3415 return string.Concat(obj3);
3418 obj3[11] = (string)obj8;
3420 ref T7 reference4 = ref Item7;
3421 T7 val3 =
default(T7);
3425 reference4 = ref val3;
3432 obj7 = reference4.ToString();
3436 obj[7] = (string)obj9;
3438 ref T5 reference5 = ref Item5;
3439 T5 val4 =
default(T5);
3444 reference5 = ref val4;
3451 obj10 = reference5.ToString();
3454 obj[1] = (string)obj2;
3456 ref T2 reference6 = ref Item2;
3457 T2 val5 =
default(T2);
3462 reference6 = ref val5;
3469 obj11 = reference6.ToString();
3472 obj[9] = (string)obj10;
3474 ref T6 reference7 = ref Item6;
3475 T6 val6 =
default(T6);
3480 reference7 = ref val6;
3487 obj12 = reference7.ToString();
3491 obj3[3] = (string)obj13;
3493 ref T3 reference8 = ref Item3;
3494 T3 val7 =
default(T3);
3498 reference8 = ref val7;
3505 obj5 = reference8.ToString();
3509 obj[13] = (string)obj14;
3511 obj[15] = Rest.ToString();
3513 return string.Concat(obj);
3515 obj[3] = (string)obj11;
3517 ref T3 reference9 = ref Item3;
3523 reference9 = ref val7;
3530 obj15 = reference9.ToString();
3533 obj3[7] = (string)obj6;
3535 ref T5 reference10 = ref Item5;
3541 reference10 = ref val4;
3548 obj16 = reference10.ToString();
3551 obj[11] = (string)obj12;
3553 ref T7 reference11 = ref Item7;
3558 reference11 = ref val3;
3565 obj14 = reference11.ToString();
3568 obj3[1] = (string)obj4;
3570 ref T2 reference12 = ref Item2;
3575 reference12 = ref val5;
3582 obj13 = reference12.ToString();
3585 obj[5] = (string)obj15;
3587 ref T4 reference13 = ref Item4;
3592 reference13 = ref val2;
3599 obj9 = reference13.ToString();
3602 obj3[9] = (string)obj16;
3604 ref T6 reference14 = ref Item6;
3609 reference14 = ref val6;
3616 obj8 = reference14.ToString();
3620 string IValueTupleInternal.ToStringEnd()
3622 IValueTupleInternal valueTupleInternal = Rest as IValueTupleInternal;
3626 if (valueTupleInternal ==
null)
3628 obj =
new string[16];
3629 ref T1 reference = ref Item1;
3634 reference = ref val;
3641 obj2 = reference.ToString();
3644 string[] obj3 =
new string[15];
3645 ref
T1 reference2 = ref Item1;
3651 reference2 = ref val;
3658 obj4 = reference2.ToString();
3662 obj3[4] = (string)obj5;
3664 ref T4 reference3 = ref Item4;
3665 T4 val2 =
default(T4);
3670 reference3 = ref val2;
3677 obj6 = reference3.ToString();
3681 obj3[12] = (string)obj7;
3683 obj3[14] = valueTupleInternal.ToStringEnd();
3684 return string.Concat(obj3);
3687 obj3[10] = (string)obj8;
3689 ref T7 reference4 = ref Item7;
3690 T7 val3 =
default(T7);
3694 reference4 = ref val3;
3701 obj7 = reference4.ToString();
3705 obj[6] = (string)obj9;
3707 ref T5 reference5 = ref Item5;
3708 T5 val4 =
default(T5);
3713 reference5 = ref val4;
3720 obj10 = reference5.ToString();
3723 obj[0] = (string)obj2;
3725 ref T2 reference6 = ref Item2;
3726 T2 val5 =
default(T2);
3731 reference6 = ref val5;
3738 obj11 = reference6.ToString();
3741 obj[8] = (string)obj10;
3743 ref T6 reference7 = ref Item6;
3744 T6 val6 =
default(T6);
3749 reference7 = ref val6;
3756 obj12 = reference7.ToString();
3760 obj3[2] = (string)obj13;
3762 ref T3 reference8 = ref Item3;
3763 T3 val7 =
default(T3);
3767 reference8 = ref val7;
3774 obj5 = reference8.ToString();
3778 obj[12] = (string)obj14;
3780 obj[14] = Rest.ToString();
3782 return string.Concat(obj);
3784 obj[2] = (string)obj11;
3786 ref T3 reference9 = ref Item3;
3792 reference9 = ref val7;
3799 obj15 = reference9.ToString();
3802 obj3[6] = (string)obj6;
3804 ref T5 reference10 = ref Item5;
3810 reference10 = ref val4;
3817 obj16 = reference10.ToString();
3820 obj[10] = (string)obj12;
3822 ref T7 reference11 = ref Item7;
3827 reference11 = ref val3;
3834 obj14 = reference11.ToString();
3837 obj3[0] = (string)obj4;
3839 ref T2 reference12 = ref Item2;
3844 reference12 = ref val5;
3851 obj13 = reference12.ToString();
3854 obj[4] = (string)obj15;
3856 ref T4 reference13 = ref Item4;
3861 reference13 = ref val2;
3868 obj9 = reference13.ToString();
3871 obj3[8] = (string)obj16;
3873 ref T6 reference14 = ref Item6;
3878 reference14 = ref val6;
3885 obj8 = reference14.ToString();
bool Equals(object other, IEqualityComparer comparer)
Determines whether an object is structurally equal to the current instance.
Compares two objects for equivalence, where string comparisons are case-sensitive.
Provides a base class for implementations of the T:System.Collections.Generic.IEqualityComparer`1 gen...
int CompareTo(ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest > other)
Compares the current T:System.ValueTuple`8 instance to a specified T:System.ValueTuple`8 instance
ValueTuple(T1 item1, T2 item2)
Initializes a new T:System.ValueTuple`2 instance.
ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6)
Initializes a new T:System.ValueTuple`6 instance.
ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5)
Initializes a new T:System.ValueTuple`5 instance.
int IComparable. CompareTo(object other)
Compares this T:System.ValueTuple instance with a specified object and returns an indication of their...
bool Equals(ValueTuple other)
Determines whether two T:System.ValueTuple instances are equal. This method always returns true.
int Compare(object a, object b)
Performs a case-sensitive comparison of two objects of the same type and returns a value indicating w...
LayoutKind
Controls the layout of an object when exported to unmanaged code.
Provides static methods for creating value tuples.
static EqualityComparer< T > Default
Returns a default equality comparer for the type specified by the generic argument.
Defines a generalized type-specific comparison method that a value type or class implements to order ...
ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7)
Initializes a new M:System.ValueTuple`7.::ctor(`0,`1,`2,`3,`4,`5,`6) instance.
int GetHashCode(IEqualityComparer comparer)
Returns a hash code for the current instance.
int Length
Gets the number of elements in this Tuple instance.
T6 Item6
Gets the value of the current T:System.ValueTuple`6 instance's sixth element.
int Compare(object x, object y)
Compares two objects and returns a value indicating whether one is less than, equal to,...
Provides information about, and means to manipulate, the current environment and platform....
new bool Equals(object x, object y)
Determines whether the specified objects are equal.
ValueTuple(T1 item1, T2 item2, T3 item3)
Initializes a new T:System.ValueTuple`3 instance.
The exception that is thrown when an attempt is made to access an element of an array or collection w...
Defines methods to support the comparison of objects for equality.
TRest Rest
Gets the current T:System.ValueTuple`8 instance's remaining elements.
static readonly Comparer Default
Represents an instance of T:System.Collections.Comparer that is associated with the P:System....
bool Equals(ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest > other)
Returns a value that indicates whether the current T:System.ValueTuple`8 instance is equal to a speci...
Exposes a method that compares two objects.
T5 Item5
Gets the value of the current T:System.ValueTuple`5 instance's fifth element.
ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, TRest rest)
Initializes a new T:System.ValueTuple`8 instance.
ValueTuple(T1 item1)
Initializes a new T:System.ValueTuple`1 instance.
bool Equals(ValueTuple< T1 > other)
Returns a value that indicates whether the current T:System.ValueTuple`1 instance is equal to a speci...
T7 Item7
Gets the value of the current T:System.ValueTuple`7 instance's seventh element.
static ValueTuple Create()
Creates a new value tuple with zero components.
T3 Item3
Gets the value of the current T:System.ValueTuple`3 instance's third element.
int GetHashCode(object obj)
Returns a hash code for the specified object.
The exception that is thrown when one of the arguments provided to a method is not valid.
int CompareTo(ValueTuple< T1 > other)
Compares the current T:System.ValueTuple`1 instance to a specified T:System.ValueTuple`1 instance.
override bool Equals(object obj)
Returns a value that indicates whether the current T:System.ValueTuple instance is equal to a specifi...
override string ToString()
Returns the string representation of this T:System.ValueTuple instance.
Defines a generalized method that a value type or class implements to create a type-specific method f...
static T1
Creates a new value tuple with 2 components (a pair).
int CompareTo(object other, IComparer comparer)
Determines whether the current collection object precedes, occurs in the same position as,...
Specifies that the class can be serialized.
ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4)
Initializes a new T:System.ValueTuple`4 instance.
T1 Item1
Gets the value of the current T:System.ValueTuple`1 instance's first element.
override int GetHashCode()
Returns the hash code for the current T:System.ValueTuple instance.
int CompareTo(ValueTuple other)
Compares the current T:System.ValueTuple instance with a specified object.
T2 Item2
Gets the value of the current T:System.ValueTuple`2 instance's second element.
T4 Item4
Gets the value of the current T:System.ValueTuple`4 instance's fourth element.
The default setting for this enumeration, which is currently F:System.GCCollectionMode....
Defines methods to support the comparison of objects for structural equality.
Supports the structural comparison of collection objects.
Defines a general-purpose Tuple implementation that allows acccess to Tuple instance members without ...