Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ValueTuple.cs
Go to the documentation of this file.
6
7namespace System;
8
10[StructLayout(LayoutKind.Sequential, Size = 1)]
11[TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
13{
14 int ITuple.Length => 0;
15
16 object? ITuple.this[int index]
17 {
18 get
19 {
20 throw new IndexOutOfRangeException();
21 }
22 }
23
24 public override bool Equals([NotNullWhen(true)] object? obj)
25 {
26 return obj is ValueTuple;
27 }
28
29 public bool Equals(ValueTuple other)
30 {
31 return true;
32 }
33
38
40 {
41 if (other == null)
42 {
43 return 1;
44 }
45 if (!(other is ValueTuple))
46 {
48 }
49 return 0;
50 }
51
53 {
54 return 0;
55 }
56
58 {
59 if (other == null)
60 {
61 return 1;
62 }
63 if (!(other is ValueTuple))
64 {
66 }
67 return 0;
68 }
69
70 public override int GetHashCode()
71 {
72 return 0;
73 }
74
79
84
85 public override string ToString()
86 {
87 return "()";
88 }
89
91 {
92 return ")";
93 }
94
95 public static ValueTuple Create()
96 {
97 return default(ValueTuple);
98 }
99
101 {
102 return new ValueTuple<T1>(item1);
103 }
104
105 public static (T1, T2) Create<T1, T2>(T1 item1, T2 item2)
106 {
107 return (item1, item2);
108 }
109
110 public static (T1, T2, T3) Create<T1, T2, T3>(T1 item1, T2 item2, T3 item3)
111 {
112 return (item1, item2, item3);
113 }
114
115 public static (T1, T2, T3, T4) Create<T1, T2, T3, T4>(T1 item1, T2 item2, T3 item3, T4 item4)
116 {
117 return (item1, item2, item3, item4);
118 }
119
120 public static (T1, T2, T3, T4, T5) Create<T1, T2, T3, T4, T5>(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5)
121 {
122 return (item1, item2, item3, item4, item5);
123 }
124
125 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)
126 {
127 return (item1, item2, item3, item4, item5, item6);
128 }
129
130 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)
131 {
132 return (item1, item2, item3, item4, item5, item6, item7);
133 }
134
139}
140[Serializable]
141[TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
143{
144 public T1 Item1;
145
146 int ITuple.Length => 1;
147
148 object? ITuple.this[int index]
149 {
150 get
151 {
152 if (index != 0)
153 {
154 throw new IndexOutOfRangeException();
155 }
156 return Item1;
157 }
158 }
159
160 public ValueTuple(T1 item1)
161 {
162 Item1 = item1;
163 }
164
165 public override bool Equals([NotNullWhen(true)] object? obj)
166 {
168 {
169 return Equals(other);
170 }
171 return false;
172 }
173
175 {
176 return EqualityComparer<T1>.Default.Equals(Item1, other.Item1);
177 }
178
180 {
182 {
183 return comparer.Equals(Item1, valueTuple.Item1);
184 }
185 return false;
186 }
187
189 {
190 if (other != null)
191 {
193 {
194 return Comparer<T1>.Default.Compare(Item1, valueTuple.Item1);
195 }
197 }
198 return 1;
199 }
200
202 {
203 return Comparer<T1>.Default.Compare(Item1, other.Item1);
204 }
205
207 {
208 if (other != null)
209 {
211 {
212 return comparer.Compare(Item1, valueTuple.Item1);
213 }
215 }
216 return 1;
217 }
218
219 public override int GetHashCode()
220 {
221 return Item1?.GetHashCode() ?? 0;
222 }
223
225 {
226 return comparer.GetHashCode(Item1);
227 }
228
230 {
231 return comparer.GetHashCode(Item1);
232 }
233
234 public override string ToString()
235 {
236 return "(" + Item1?.ToString() + ")";
237 }
238
240 {
241 return Item1?.ToString() + ")";
242 }
243}
244[Serializable]
246[TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
248{
249 public T1 Item1;
250
251 public T2 Item2;
252
253 int ITuple.Length => 2;
254
255 object? ITuple.this[int index] => index switch
256 {
257 0 => Item1,
258 1 => Item2,
259 _ => throw new IndexOutOfRangeException(),
260 };
261
262 public ValueTuple(T1 item1, T2 item2)
263 {
264 Item1 = item1;
265 Item2 = item2;
266 }
267
268 public override bool Equals([NotNullWhen(true)] object? obj)
269 {
270 if (obj is (T1, T2) other)
271 {
272 return Equals(other);
273 }
274 return false;
275 }
276
277 public bool Equals((T1, T2) other)
278 {
279 if (EqualityComparer<T1>.Default.Equals(Item1, other.Item1))
280 {
281 return EqualityComparer<T2>.Default.Equals(Item2, other.Item2);
282 }
283 return false;
284 }
285
287 {
288 if (other is (T1, T2) tuple && comparer.Equals(Item1, tuple.Item1))
289 {
290 return comparer.Equals(Item2, tuple.Item2);
291 }
292 return false;
293 }
294
296 {
297 if (other != null)
298 {
299 if (other is (T1, T2) other2)
300 {
301 return CompareTo(other2);
302 }
304 }
305 return 1;
306 }
307
308 public int CompareTo((T1, T2) other)
309 {
310 int num = Comparer<T1>.Default.Compare(Item1, other.Item1);
311 if (num != 0)
312 {
313 return num;
314 }
315 return Comparer<T2>.Default.Compare(Item2, other.Item2);
316 }
317
319 {
320 if (other != null)
321 {
322 if (other is (T1, T2) tuple)
323 {
324 int num = comparer.Compare(Item1, tuple.Item1);
325 if (num != 0)
326 {
327 return num;
328 }
329 return comparer.Compare(Item2, tuple.Item2);
330 }
332 }
333 return 1;
334 }
335
336 public override int GetHashCode()
337 {
338 return HashCode.Combine(Item1?.GetHashCode() ?? 0, Item2?.GetHashCode() ?? 0);
339 }
340
345
347 {
348 return HashCode.Combine(comparer.GetHashCode(Item1), comparer.GetHashCode(Item2));
349 }
350
355
356 public override string ToString()
357 {
358 return "(" + Item1?.ToString() + ", " + Item2?.ToString() + ")";
359 }
360
362 {
363 return Item1?.ToString() + ", " + Item2?.ToString() + ")";
364 }
365}
366[Serializable]
368[TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
369public struct ValueTuple<T1, T2, T3> : IEquatable<(T1, T2, T3)>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<(T1, T2, T3)>, IValueTupleInternal, ITuple
370{
371 public T1 Item1;
372
373 public T2 Item2;
374
375 public T3 Item3;
376
377 int ITuple.Length => 3;
378
379 object? ITuple.this[int index] => index switch
380 {
381 0 => Item1,
382 1 => Item2,
383 2 => Item3,
384 _ => throw new IndexOutOfRangeException(),
385 };
386
387 public ValueTuple(T1 item1, T2 item2, T3 item3)
388 {
389 Item1 = item1;
390 Item2 = item2;
391 Item3 = item3;
392 }
393
394 public override bool Equals([NotNullWhen(true)] object? obj)
395 {
396 if (obj is (T1, T2, T3) other)
397 {
398 return Equals(other);
399 }
400 return false;
401 }
402
403 public bool Equals((T1, T2, T3) other)
404 {
405 if (EqualityComparer<T1>.Default.Equals(Item1, other.Item1) && EqualityComparer<T2>.Default.Equals(Item2, other.Item2))
406 {
407 return EqualityComparer<T3>.Default.Equals(Item3, other.Item3);
408 }
409 return false;
410 }
411
413 {
414 if (other is (T1, T2, T3) tuple && comparer.Equals(Item1, tuple.Item1) && comparer.Equals(Item2, tuple.Item2))
415 {
416 return comparer.Equals(Item3, tuple.Item3);
417 }
418 return false;
419 }
420
422 {
423 if (other != null)
424 {
425 if (other is (T1, T2, T3) other2)
426 {
427 return CompareTo(other2);
428 }
430 }
431 return 1;
432 }
433
434 public int CompareTo((T1, T2, T3) other)
435 {
436 int num = Comparer<T1>.Default.Compare(Item1, other.Item1);
437 if (num != 0)
438 {
439 return num;
440 }
441 num = Comparer<T2>.Default.Compare(Item2, other.Item2);
442 if (num != 0)
443 {
444 return num;
445 }
446 return Comparer<T3>.Default.Compare(Item3, other.Item3);
447 }
448
450 {
451 if (other != null)
452 {
453 if (other is (T1, T2, T3) tuple)
454 {
455 int num = comparer.Compare(Item1, tuple.Item1);
456 if (num != 0)
457 {
458 return num;
459 }
460 num = comparer.Compare(Item2, tuple.Item2);
461 if (num != 0)
462 {
463 return num;
464 }
465 return comparer.Compare(Item3, tuple.Item3);
466 }
468 }
469 return 1;
470 }
471
472 public override int GetHashCode()
473 {
474 return HashCode.Combine(Item1?.GetHashCode() ?? 0, Item2?.GetHashCode() ?? 0, Item3?.GetHashCode() ?? 0);
475 }
476
481
483 {
484 return HashCode.Combine(comparer.GetHashCode(Item1), comparer.GetHashCode(Item2), comparer.GetHashCode(Item3));
485 }
486
491
492 public override string ToString()
493 {
494 return "(" + Item1?.ToString() + ", " + Item2?.ToString() + ", " + Item3?.ToString() + ")";
495 }
496
498 {
499 return Item1?.ToString() + ", " + Item2?.ToString() + ", " + Item3?.ToString() + ")";
500 }
501}
502[Serializable]
504[TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
505public struct ValueTuple<T1, T2, T3, T4> : IEquatable<(T1, T2, T3, T4)>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<(T1, T2, T3, T4)>, IValueTupleInternal, ITuple
506{
507 public T1 Item1;
508
509 public T2 Item2;
510
511 public T3 Item3;
512
513 public T4 Item4;
514
515 int ITuple.Length => 4;
516
517 object? ITuple.this[int index] => index switch
518 {
519 0 => Item1,
520 1 => Item2,
521 2 => Item3,
522 3 => Item4,
523 _ => throw new IndexOutOfRangeException(),
524 };
525
526 public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4)
527 {
528 Item1 = item1;
529 Item2 = item2;
530 Item3 = item3;
531 Item4 = item4;
532 }
533
534 public override bool Equals([NotNullWhen(true)] object? obj)
535 {
536 if (obj is (T1, T2, T3, T4) other)
537 {
538 return Equals(other);
539 }
540 return false;
541 }
542
543 public bool Equals((T1, T2, T3, T4) other)
544 {
545 if (EqualityComparer<T1>.Default.Equals(Item1, other.Item1) && EqualityComparer<T2>.Default.Equals(Item2, other.Item2) && EqualityComparer<T3>.Default.Equals(Item3, other.Item3))
546 {
547 return EqualityComparer<T4>.Default.Equals(Item4, other.Item4);
548 }
549 return false;
550 }
551
553 {
554 if (other is (T1, T2, T3, T4) tuple && comparer.Equals(Item1, tuple.Item1) && comparer.Equals(Item2, tuple.Item2) && comparer.Equals(Item3, tuple.Item3))
555 {
556 return comparer.Equals(Item4, tuple.Item4);
557 }
558 return false;
559 }
560
562 {
563 if (other != null)
564 {
565 if (other is (T1, T2, T3, T4) other2)
566 {
567 return CompareTo(other2);
568 }
570 }
571 return 1;
572 }
573
574 public int CompareTo((T1, T2, T3, T4) other)
575 {
576 int num = Comparer<T1>.Default.Compare(Item1, other.Item1);
577 if (num != 0)
578 {
579 return num;
580 }
581 num = Comparer<T2>.Default.Compare(Item2, other.Item2);
582 if (num != 0)
583 {
584 return num;
585 }
586 num = Comparer<T3>.Default.Compare(Item3, other.Item3);
587 if (num != 0)
588 {
589 return num;
590 }
591 return Comparer<T4>.Default.Compare(Item4, other.Item4);
592 }
593
595 {
596 if (other != null)
597 {
598 if (other is (T1, T2, T3, T4) tuple)
599 {
600 int num = comparer.Compare(Item1, tuple.Item1);
601 if (num != 0)
602 {
603 return num;
604 }
605 num = comparer.Compare(Item2, tuple.Item2);
606 if (num != 0)
607 {
608 return num;
609 }
610 num = comparer.Compare(Item3, tuple.Item3);
611 if (num != 0)
612 {
613 return num;
614 }
615 return comparer.Compare(Item4, tuple.Item4);
616 }
618 }
619 return 1;
620 }
621
622 public override int GetHashCode()
623 {
624 return HashCode.Combine(Item1?.GetHashCode() ?? 0, Item2?.GetHashCode() ?? 0, Item3?.GetHashCode() ?? 0, Item4?.GetHashCode() ?? 0);
625 }
626
631
633 {
634 return HashCode.Combine(comparer.GetHashCode(Item1), comparer.GetHashCode(Item2), comparer.GetHashCode(Item3), comparer.GetHashCode(Item4));
635 }
636
641
642 public override string ToString()
643 {
644 return "(" + Item1?.ToString() + ", " + Item2?.ToString() + ", " + Item3?.ToString() + ", " + Item4?.ToString() + ")";
645 }
646
648 {
649 return Item1?.ToString() + ", " + Item2?.ToString() + ", " + Item3?.ToString() + ", " + Item4?.ToString() + ")";
650 }
651}
652[Serializable]
654[TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
655public struct ValueTuple<T1, T2, T3, T4, T5> : IEquatable<(T1, T2, T3, T4, T5)>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<(T1, T2, T3, T4, T5)>, IValueTupleInternal, ITuple
656{
657 public T1 Item1;
658
659 public T2 Item2;
660
661 public T3 Item3;
662
663 public T4 Item4;
664
665 public T5 Item5;
666
667 int ITuple.Length => 5;
668
669 object? ITuple.this[int index] => index switch
670 {
671 0 => Item1,
672 1 => Item2,
673 2 => Item3,
674 3 => Item4,
675 4 => Item5,
676 _ => throw new IndexOutOfRangeException(),
677 };
678
679 public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5)
680 {
681 Item1 = item1;
682 Item2 = item2;
683 Item3 = item3;
684 Item4 = item4;
685 Item5 = item5;
686 }
687
688 public override bool Equals([NotNullWhen(true)] object? obj)
689 {
690 if (obj is (T1, T2, T3, T4, T5) other)
691 {
692 return Equals(other);
693 }
694 return false;
695 }
696
697 public bool Equals((T1, T2, T3, T4, T5) other)
698 {
699 if (EqualityComparer<T1>.Default.Equals(Item1, other.Item1) && EqualityComparer<T2>.Default.Equals(Item2, other.Item2) && EqualityComparer<T3>.Default.Equals(Item3, other.Item3) && EqualityComparer<T4>.Default.Equals(Item4, other.Item4))
700 {
701 return EqualityComparer<T5>.Default.Equals(Item5, other.Item5);
702 }
703 return false;
704 }
705
707 {
708 if (other is (T1, T2, T3, T4, T5) tuple && comparer.Equals(Item1, tuple.Item1) && comparer.Equals(Item2, tuple.Item2) && comparer.Equals(Item3, tuple.Item3))
709 {
710 return comparer.Equals(Item5, tuple.Item5);
711 }
712 return false;
713 }
714
716 {
717 if (other != null)
718 {
719 if (other is (T1, T2, T3, T4, T5) other2)
720 {
721 return CompareTo(other2);
722 }
724 }
725 return 1;
726 }
727
728 public int CompareTo((T1, T2, T3, T4, T5) other)
729 {
730 int num = Comparer<T1>.Default.Compare(Item1, other.Item1);
731 if (num != 0)
732 {
733 return num;
734 }
735 num = Comparer<T2>.Default.Compare(Item2, other.Item2);
736 if (num != 0)
737 {
738 return num;
739 }
740 num = Comparer<T3>.Default.Compare(Item3, other.Item3);
741 if (num != 0)
742 {
743 return num;
744 }
745 num = Comparer<T4>.Default.Compare(Item4, other.Item4);
746 if (num != 0)
747 {
748 return num;
749 }
750 return Comparer<T5>.Default.Compare(Item5, other.Item5);
751 }
752
754 {
755 if (other != null)
756 {
757 if (other is (T1, T2, T3, T4, T5) tuple)
758 {
759 int num = comparer.Compare(Item1, tuple.Item1);
760 if (num != 0)
761 {
762 return num;
763 }
764 num = comparer.Compare(Item2, tuple.Item2);
765 if (num != 0)
766 {
767 return num;
768 }
769 num = comparer.Compare(Item3, tuple.Item3);
770 if (num != 0)
771 {
772 return num;
773 }
774 num = comparer.Compare(Item4, tuple.Item4);
775 if (num != 0)
776 {
777 return num;
778 }
779 return comparer.Compare(Item5, tuple.Item5);
780 }
782 }
783 return 1;
784 }
785
786 public override int GetHashCode()
787 {
788 return HashCode.Combine(Item1?.GetHashCode() ?? 0, Item2?.GetHashCode() ?? 0, Item3?.GetHashCode() ?? 0, Item4?.GetHashCode() ?? 0, Item5?.GetHashCode() ?? 0);
789 }
790
795
797 {
798 return HashCode.Combine(comparer.GetHashCode(Item1), comparer.GetHashCode(Item2), comparer.GetHashCode(Item3), comparer.GetHashCode(Item4), comparer.GetHashCode(Item5));
799 }
800
805
806 public override string ToString()
807 {
808 return "(" + Item1?.ToString() + ", " + Item2?.ToString() + ", " + Item3?.ToString() + ", " + Item4?.ToString() + ", " + Item5?.ToString() + ")";
809 }
810
812 {
813 return Item1?.ToString() + ", " + Item2?.ToString() + ", " + Item3?.ToString() + ", " + Item4?.ToString() + ", " + Item5?.ToString() + ")";
814 }
815}
816[Serializable]
818[TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
819public 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
820{
821 public T1 Item1;
822
823 public T2 Item2;
824
825 public T3 Item3;
826
827 public T4 Item4;
828
829 public T5 Item5;
830
831 public T6 Item6;
832
833 int ITuple.Length => 6;
834
835 object? ITuple.this[int index] => index switch
836 {
837 0 => Item1,
838 1 => Item2,
839 2 => Item3,
840 3 => Item4,
841 4 => Item5,
842 5 => Item6,
843 _ => throw new IndexOutOfRangeException(),
844 };
845
846 public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6)
847 {
848 Item1 = item1;
849 Item2 = item2;
850 Item3 = item3;
851 Item4 = item4;
852 Item5 = item5;
853 Item6 = item6;
854 }
855
856 public override bool Equals([NotNullWhen(true)] object? obj)
857 {
858 if (obj is (T1, T2, T3, T4, T5, T6) other)
859 {
860 return Equals(other);
861 }
862 return false;
863 }
864
865 public bool Equals((T1, T2, T3, T4, T5, T6) other)
866 {
867 if (EqualityComparer<T1>.Default.Equals(Item1, other.Item1) && EqualityComparer<T2>.Default.Equals(Item2, other.Item2) && EqualityComparer<T3>.Default.Equals(Item3, other.Item3) && EqualityComparer<T4>.Default.Equals(Item4, other.Item4) && EqualityComparer<T5>.Default.Equals(Item5, other.Item5))
868 {
869 return EqualityComparer<T6>.Default.Equals(Item6, other.Item6);
870 }
871 return false;
872 }
873
875 {
876 if (other is (T1, T2, T3, T4, T5, T6) tuple && comparer.Equals(Item1, tuple.Item1) && comparer.Equals(Item2, tuple.Item2) && comparer.Equals(Item3, tuple.Item3) && comparer.Equals(Item5, tuple.Item5))
877 {
878 return comparer.Equals(Item6, tuple.Item6);
879 }
880 return false;
881 }
882
884 {
885 if (other != null)
886 {
887 if (other is (T1, T2, T3, T4, T5, T6) other2)
888 {
889 return CompareTo(other2);
890 }
892 }
893 return 1;
894 }
895
896 public int CompareTo((T1, T2, T3, T4, T5, T6) other)
897 {
898 int num = Comparer<T1>.Default.Compare(Item1, other.Item1);
899 if (num != 0)
900 {
901 return num;
902 }
903 num = Comparer<T2>.Default.Compare(Item2, other.Item2);
904 if (num != 0)
905 {
906 return num;
907 }
908 num = Comparer<T3>.Default.Compare(Item3, other.Item3);
909 if (num != 0)
910 {
911 return num;
912 }
913 num = Comparer<T4>.Default.Compare(Item4, other.Item4);
914 if (num != 0)
915 {
916 return num;
917 }
918 num = Comparer<T5>.Default.Compare(Item5, other.Item5);
919 if (num != 0)
920 {
921 return num;
922 }
923 return Comparer<T6>.Default.Compare(Item6, other.Item6);
924 }
925
927 {
928 if (other != null)
929 {
930 if (other is (T1, T2, T3, T4, T5, T6) tuple)
931 {
932 int num = comparer.Compare(Item1, tuple.Item1);
933 if (num != 0)
934 {
935 return num;
936 }
937 num = comparer.Compare(Item2, tuple.Item2);
938 if (num != 0)
939 {
940 return num;
941 }
942 num = comparer.Compare(Item3, tuple.Item3);
943 if (num != 0)
944 {
945 return num;
946 }
947 num = comparer.Compare(Item4, tuple.Item4);
948 if (num != 0)
949 {
950 return num;
951 }
952 num = comparer.Compare(Item5, tuple.Item5);
953 if (num != 0)
954 {
955 return num;
956 }
957 return comparer.Compare(Item6, tuple.Item6);
958 }
960 }
961 return 1;
962 }
963
964 public override int GetHashCode()
965 {
966 return HashCode.Combine(Item1?.GetHashCode() ?? 0, Item2?.GetHashCode() ?? 0, Item3?.GetHashCode() ?? 0, Item4?.GetHashCode() ?? 0, Item5?.GetHashCode() ?? 0, Item6?.GetHashCode() ?? 0);
967 }
968
973
975 {
976 return HashCode.Combine(comparer.GetHashCode(Item1), comparer.GetHashCode(Item2), comparer.GetHashCode(Item3), comparer.GetHashCode(Item4), comparer.GetHashCode(Item5), comparer.GetHashCode(Item6));
977 }
978
983
984 public override string ToString()
985 {
986 return "(" + Item1?.ToString() + ", " + Item2?.ToString() + ", " + Item3?.ToString() + ", " + Item4?.ToString() + ", " + Item5?.ToString() + ", " + Item6?.ToString() + ")";
987 }
988
990 {
991 return Item1?.ToString() + ", " + Item2?.ToString() + ", " + Item3?.ToString() + ", " + Item4?.ToString() + ", " + Item5?.ToString() + ", " + Item6?.ToString() + ")";
992 }
993}
994[Serializable]
996[TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
997public 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
998{
999 public T1 Item1;
1000
1001 public T2 Item2;
1002
1003 public T3 Item3;
1004
1005 public T4 Item4;
1006
1007 public T5 Item5;
1008
1009 public T6 Item6;
1010
1011 public T7 Item7;
1012
1013 int ITuple.Length => 7;
1014
1015 object? ITuple.this[int index] => index switch
1016 {
1017 0 => Item1,
1018 1 => Item2,
1019 2 => Item3,
1020 3 => Item4,
1021 4 => Item5,
1022 5 => Item6,
1023 6 => Item7,
1024 _ => throw new IndexOutOfRangeException(),
1025 };
1026
1027 public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7)
1028 {
1029 Item1 = item1;
1030 Item2 = item2;
1031 Item3 = item3;
1032 Item4 = item4;
1033 Item5 = item5;
1034 Item6 = item6;
1035 Item7 = item7;
1036 }
1037
1038 public override bool Equals([NotNullWhen(true)] object? obj)
1039 {
1040 if (obj is (T1, T2, T3, T4, T5, T6, T7) other)
1041 {
1042 return Equals(other);
1043 }
1044 return false;
1045 }
1046
1047 public bool Equals((T1, T2, T3, T4, T5, T6, T7) other)
1048 {
1049 if (EqualityComparer<T1>.Default.Equals(Item1, other.Item1) && EqualityComparer<T2>.Default.Equals(Item2, other.Item2) && EqualityComparer<T3>.Default.Equals(Item3, other.Item3) && EqualityComparer<T4>.Default.Equals(Item4, other.Item4) && EqualityComparer<T5>.Default.Equals(Item5, other.Item5) && EqualityComparer<T6>.Default.Equals(Item6, other.Item6))
1050 {
1051 return EqualityComparer<T7>.Default.Equals(Item7, other.Item7);
1052 }
1053 return false;
1054 }
1055
1057 {
1058 if (other is (T1, T2, T3, T4, T5, T6, T7) tuple && comparer.Equals(Item1, tuple.Item1) && comparer.Equals(Item2, tuple.Item2) && comparer.Equals(Item3, tuple.Item3) && comparer.Equals(Item5, tuple.Item5) && comparer.Equals(Item6, tuple.Item6))
1059 {
1060 return comparer.Equals(Item7, tuple.Item7);
1061 }
1062 return false;
1063 }
1064
1066 {
1067 if (other != null)
1068 {
1069 if (other is (T1, T2, T3, T4, T5, T6, T7) other2)
1070 {
1071 return CompareTo(other2);
1072 }
1074 }
1075 return 1;
1076 }
1077
1078 public int CompareTo((T1, T2, T3, T4, T5, T6, T7) other)
1079 {
1080 int num = Comparer<T1>.Default.Compare(Item1, other.Item1);
1081 if (num != 0)
1082 {
1083 return num;
1084 }
1085 num = Comparer<T2>.Default.Compare(Item2, other.Item2);
1086 if (num != 0)
1087 {
1088 return num;
1089 }
1090 num = Comparer<T3>.Default.Compare(Item3, other.Item3);
1091 if (num != 0)
1092 {
1093 return num;
1094 }
1095 num = Comparer<T4>.Default.Compare(Item4, other.Item4);
1096 if (num != 0)
1097 {
1098 return num;
1099 }
1100 num = Comparer<T5>.Default.Compare(Item5, other.Item5);
1101 if (num != 0)
1102 {
1103 return num;
1104 }
1105 num = Comparer<T6>.Default.Compare(Item6, other.Item6);
1106 if (num != 0)
1107 {
1108 return num;
1109 }
1110 return Comparer<T7>.Default.Compare(Item7, other.Item7);
1111 }
1112
1114 {
1115 if (other != null)
1116 {
1117 if (other is (T1, T2, T3, T4, T5, T6, T7) tuple)
1118 {
1119 int num = comparer.Compare(Item1, tuple.Item1);
1120 if (num != 0)
1121 {
1122 return num;
1123 }
1124 num = comparer.Compare(Item2, tuple.Item2);
1125 if (num != 0)
1126 {
1127 return num;
1128 }
1129 num = comparer.Compare(Item3, tuple.Item3);
1130 if (num != 0)
1131 {
1132 return num;
1133 }
1134 num = comparer.Compare(Item4, tuple.Item4);
1135 if (num != 0)
1136 {
1137 return num;
1138 }
1139 num = comparer.Compare(Item5, tuple.Item5);
1140 if (num != 0)
1141 {
1142 return num;
1143 }
1144 num = comparer.Compare(Item6, tuple.Item6);
1145 if (num != 0)
1146 {
1147 return num;
1148 }
1149 return comparer.Compare(Item7, tuple.Item7);
1150 }
1152 }
1153 return 1;
1154 }
1155
1156 public override int GetHashCode()
1157 {
1158 return HashCode.Combine(Item1?.GetHashCode() ?? 0, Item2?.GetHashCode() ?? 0, Item3?.GetHashCode() ?? 0, Item4?.GetHashCode() ?? 0, Item5?.GetHashCode() ?? 0, Item6?.GetHashCode() ?? 0, Item7?.GetHashCode() ?? 0);
1159 }
1160
1165
1167 {
1168 return HashCode.Combine(comparer.GetHashCode(Item1), comparer.GetHashCode(Item2), comparer.GetHashCode(Item3), comparer.GetHashCode(Item4), comparer.GetHashCode(Item5), comparer.GetHashCode(Item6), comparer.GetHashCode(Item7));
1169 }
1170
1175
1176 public override string ToString()
1177 {
1178 return "(" + Item1?.ToString() + ", " + Item2?.ToString() + ", " + Item3?.ToString() + ", " + Item4?.ToString() + ", " + Item5?.ToString() + ", " + Item6?.ToString() + ", " + Item7?.ToString() + ")";
1179 }
1180
1182 {
1183 return Item1?.ToString() + ", " + Item2?.ToString() + ", " + Item3?.ToString() + ", " + Item4?.ToString() + ", " + Item5?.ToString() + ", " + Item6?.ToString() + ", " + Item7?.ToString() + ")";
1184 }
1185}
1186[Serializable]
1188[TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
1189public 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
1190{
1191 public T1 Item1;
1192
1193 public T2 Item2;
1194
1195 public T3 Item3;
1196
1197 public T4 Item4;
1198
1199 public T5 Item5;
1200
1201 public T6 Item6;
1202
1203 public T7 Item7;
1204
1205 public TRest Rest;
1206
1207 int ITuple.Length
1208 {
1209 get
1210 {
1212 {
1213 return 8;
1214 }
1215 return 7 + ((IValueTupleInternal)(object)Rest).Length;
1216 }
1217 }
1218
1219 object? ITuple.this[int index]
1220 {
1221 get
1222 {
1223 switch (index)
1224 {
1225 case 0:
1226 return Item1;
1227 case 1:
1228 return Item2;
1229 case 2:
1230 return Item3;
1231 case 3:
1232 return Item4;
1233 case 4:
1234 return Item5;
1235 case 5:
1236 return Item6;
1237 case 6:
1238 return Item7;
1239 default:
1241 {
1242 return ((IValueTupleInternal)(object)Rest)[index - 7];
1243 }
1244 if (index == 7)
1245 {
1246 return Rest;
1247 }
1248 throw new IndexOutOfRangeException();
1249 }
1250 }
1251 }
1252
1253 public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, TRest rest)
1254 {
1256 {
1258 }
1259 Item1 = item1;
1260 Item2 = item2;
1261 Item3 = item3;
1262 Item4 = item4;
1263 Item5 = item5;
1264 Item6 = item6;
1265 Item7 = item7;
1266 Rest = rest;
1267 }
1268
1269 public override bool Equals([NotNullWhen(true)] object? obj)
1270 {
1272 {
1273 return Equals(other);
1274 }
1275 return false;
1276 }
1277
1279 {
1280 if (EqualityComparer<T1>.Default.Equals(Item1, other.Item1) && EqualityComparer<T2>.Default.Equals(Item2, other.Item2) && EqualityComparer<T3>.Default.Equals(Item3, other.Item3) && EqualityComparer<T4>.Default.Equals(Item4, other.Item4) && EqualityComparer<T5>.Default.Equals(Item5, other.Item5) && EqualityComparer<T6>.Default.Equals(Item6, other.Item6) && EqualityComparer<T7>.Default.Equals(Item7, other.Item7))
1281 {
1282 return EqualityComparer<TRest>.Default.Equals(Rest, other.Rest);
1283 }
1284 return false;
1285 }
1286
1288 {
1289 if (other is ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> valueTuple && comparer.Equals(Item1, valueTuple.Item1) && comparer.Equals(Item2, valueTuple.Item2) && comparer.Equals(Item3, valueTuple.Item3) && comparer.Equals(Item5, valueTuple.Item5) && comparer.Equals(Item6, valueTuple.Item6) && comparer.Equals(Item7, valueTuple.Item7))
1290 {
1291 return comparer.Equals(Rest, valueTuple.Rest);
1292 }
1293 return false;
1294 }
1295
1297 {
1298 if (other != null)
1299 {
1301 {
1302 return CompareTo(other2);
1303 }
1305 }
1306 return 1;
1307 }
1308
1310 {
1311 int num = Comparer<T1>.Default.Compare(Item1, other.Item1);
1312 if (num != 0)
1313 {
1314 return num;
1315 }
1316 num = Comparer<T2>.Default.Compare(Item2, other.Item2);
1317 if (num != 0)
1318 {
1319 return num;
1320 }
1321 num = Comparer<T3>.Default.Compare(Item3, other.Item3);
1322 if (num != 0)
1323 {
1324 return num;
1325 }
1326 num = Comparer<T4>.Default.Compare(Item4, other.Item4);
1327 if (num != 0)
1328 {
1329 return num;
1330 }
1331 num = Comparer<T5>.Default.Compare(Item5, other.Item5);
1332 if (num != 0)
1333 {
1334 return num;
1335 }
1336 num = Comparer<T6>.Default.Compare(Item6, other.Item6);
1337 if (num != 0)
1338 {
1339 return num;
1340 }
1341 num = Comparer<T7>.Default.Compare(Item7, other.Item7);
1342 if (num != 0)
1343 {
1344 return num;
1345 }
1346 return Comparer<TRest>.Default.Compare(Rest, other.Rest);
1347 }
1348
1350 {
1351 if (other != null)
1352 {
1354 {
1355 int num = comparer.Compare(Item1, valueTuple.Item1);
1356 if (num != 0)
1357 {
1358 return num;
1359 }
1360 num = comparer.Compare(Item2, valueTuple.Item2);
1361 if (num != 0)
1362 {
1363 return num;
1364 }
1365 num = comparer.Compare(Item3, valueTuple.Item3);
1366 if (num != 0)
1367 {
1368 return num;
1369 }
1370 num = comparer.Compare(Item4, valueTuple.Item4);
1371 if (num != 0)
1372 {
1373 return num;
1374 }
1375 num = comparer.Compare(Item5, valueTuple.Item5);
1376 if (num != 0)
1377 {
1378 return num;
1379 }
1380 num = comparer.Compare(Item6, valueTuple.Item6);
1381 if (num != 0)
1382 {
1383 return num;
1384 }
1385 num = comparer.Compare(Item7, valueTuple.Item7);
1386 if (num != 0)
1387 {
1388 return num;
1389 }
1390 return comparer.Compare(Rest, valueTuple.Rest);
1391 }
1393 }
1394 return 1;
1395 }
1396
1397 public override int GetHashCode()
1398 {
1399 T1 val;
1400 int value;
1402 {
1403 ref T1 reference = ref Item1;
1404 val = default(T1);
1405 if (val == null)
1406 {
1407 val = reference;
1408 reference = ref val;
1409 if (val == null)
1410 {
1411 value = 0;
1412 goto IL_004a;
1413 }
1414 }
1415 value = reference.GetHashCode();
1416 goto IL_004a;
1417 }
1418 int length = ((IValueTupleInternal)(object)Rest).Length;
1419 int hashCode = Rest.GetHashCode();
1420 if (length >= 8)
1421 {
1422 return hashCode;
1423 }
1424 T7 val2;
1425 int value24;
1426 T6 val7;
1427 int value12;
1428 T5 val5;
1429 int value10;
1430 T4 val3;
1431 int value5;
1432 T3 val6;
1433 int value26;
1434 T2 val4;
1435 int value27;
1436 int value2;
1437 ref T7 reference3;
1438 int value3;
1439 ref T4 reference4;
1440 int value4;
1441 int value6;
1442 int value7;
1443 int value8;
1444 ref T2 reference5;
1445 int value9;
1446 ref T5 reference7;
1447 int value11;
1448 int value13;
1449 ref T3 reference8;
1450 int value14;
1451 ref T6 reference9;
1452 int value15;
1453 ref T6 reference10;
1454 int value16;
1455 ref T5 reference11;
1456 int value17;
1457 ref T4 reference12;
1458 int value18;
1459 ref T6 reference13;
1460 int value19;
1461 ref T6 reference14;
1462 ref T7 reference15;
1463 ref T5 reference16;
1464 int value20;
1465 ref T7 reference18;
1466 int value21;
1467 ref T7 reference19;
1468 int value22;
1469 ref T6 reference20;
1470 int value23;
1471 ref T7 reference22;
1472 ref T7 reference23;
1473 int value25;
1474 int value28;
1475 int value29;
1476 ref T4 reference27;
1477 ref T3 reference28;
1478 ref T5 reference29;
1479 switch (8 - length)
1480 {
1481 case 1:
1482 {
1483 ref T7 reference21 = ref Item7;
1484 val2 = default(T7);
1485 if (val2 == null)
1486 {
1487 val2 = reference21;
1489 if (val2 == null)
1490 {
1491 value24 = 0;
1492 goto IL_0237;
1493 }
1494 }
1495 value24 = reference21.GetHashCode();
1496 goto IL_0237;
1497 }
1498 case 2:
1499 {
1500 ref T6 reference17 = ref Item6;
1501 val7 = default(T6);
1502 if (val7 == null)
1503 {
1504 val7 = reference17;
1506 if (val7 == null)
1507 {
1508 value12 = 0;
1509 goto IL_0276;
1510 }
1511 }
1512 value12 = reference17.GetHashCode();
1513 goto IL_0276;
1514 }
1515 case 3:
1516 {
1517 ref T5 reference6 = ref Item5;
1518 val5 = default(T5);
1519 if (val5 == null)
1520 {
1521 val5 = reference6;
1523 if (val5 == null)
1524 {
1525 value10 = 0;
1526 goto IL_02ed;
1527 }
1528 }
1529 value10 = reference6.GetHashCode();
1530 goto IL_02ed;
1531 }
1532 case 4:
1533 {
1534 ref T4 reference25 = ref Item4;
1535 val3 = default(T4);
1536 if (val3 == null)
1537 {
1538 val3 = reference25;
1540 if (val3 == null)
1541 {
1542 value5 = 0;
1543 goto IL_039c;
1544 }
1545 }
1546 value5 = reference25.GetHashCode();
1547 goto IL_039c;
1548 }
1549 case 5:
1550 {
1551 ref T3 reference24 = ref Item3;
1552 val6 = default(T3);
1553 if (val6 == null)
1554 {
1555 val6 = reference24;
1557 if (val6 == null)
1558 {
1559 value26 = 0;
1560 goto IL_0483;
1561 }
1562 }
1563 value26 = reference24.GetHashCode();
1564 goto IL_0483;
1565 }
1566 case 6:
1567 {
1568 ref T2 reference26 = ref Item2;
1569 val4 = default(T2);
1570 if (val4 == null)
1571 {
1572 val4 = reference26;
1574 if (val4 == null)
1575 {
1576 value27 = 0;
1577 goto IL_05a2;
1578 }
1579 }
1580 value27 = reference26.GetHashCode();
1581 goto IL_05a2;
1582 }
1583 case 7:
1584 case 8:
1585 {
1586 ref T1 reference2 = ref Item1;
1587 val = default(T1);
1588 if (val == null)
1589 {
1590 val = reference2;
1591 reference2 = ref val;
1592 if (val == null)
1593 {
1594 value2 = 0;
1595 goto IL_06f6;
1596 }
1597 }
1598 value2 = reference2.GetHashCode();
1599 goto IL_06f6;
1600 }
1601 default:
1602 {
1603 return -1;
1604 }
1605 IL_0325:
1607 val2 = default(T7);
1608 if (val2 == null)
1609 {
1610 val2 = reference3;
1612 if (val2 == null)
1613 {
1614 value3 = 0;
1615 goto IL_035d;
1616 }
1617 }
1618 value3 = reference3.GetHashCode();
1619 goto IL_035d;
1620 IL_05da:
1622 val3 = default(T4);
1623 if (val3 == null)
1624 {
1625 val3 = reference4;
1627 if (val3 == null)
1628 {
1629 value4 = 0;
1630 goto IL_0612;
1631 }
1632 }
1633 value4 = reference4.GetHashCode();
1634 goto IL_0612;
1635 IL_0444:
1636 return HashCode.Combine(value5, value6, value7, value8, hashCode);
1637 IL_06f6:
1639 val4 = default(T2);
1640 if (val4 == null)
1641 {
1642 val4 = reference5;
1644 if (val4 == null)
1645 {
1646 value9 = 0;
1647 goto IL_072e;
1648 }
1649 }
1650 value9 = reference5.GetHashCode();
1651 goto IL_072e;
1652 IL_04bb:
1654 val5 = default(T5);
1655 if (val5 == null)
1656 {
1657 val5 = reference7;
1659 if (val5 == null)
1660 {
1661 value11 = 0;
1662 goto IL_04f3;
1663 }
1664 }
1665 value11 = reference7.GetHashCode();
1666 goto IL_04f3;
1667 IL_02ae:
1668 return HashCode.Combine(value12, value13, hashCode);
1669 IL_072e:
1671 val6 = default(T3);
1672 if (val6 == null)
1673 {
1674 val6 = reference8;
1676 if (val6 == null)
1677 {
1678 value14 = 0;
1679 goto IL_0766;
1680 }
1681 }
1682 value14 = reference8.GetHashCode();
1683 goto IL_0766;
1684 IL_04f3:
1686 val7 = default(T6);
1687 if (val7 == null)
1688 {
1689 val7 = reference9;
1691 if (val7 == null)
1692 {
1693 value15 = 0;
1694 goto IL_052b;
1695 }
1696 }
1697 value15 = reference9.GetHashCode();
1698 goto IL_052b;
1699 IL_02ed:
1701 val7 = default(T6);
1702 if (val7 == null)
1703 {
1704 val7 = reference10;
1706 if (val7 == null)
1707 {
1708 value16 = 0;
1709 goto IL_0325;
1710 }
1711 }
1712 value16 = reference10.GetHashCode();
1713 goto IL_0325;
1714 IL_0612:
1716 val5 = default(T5);
1717 if (val5 == null)
1718 {
1719 val5 = reference11;
1721 if (val5 == null)
1722 {
1723 value17 = 0;
1724 goto IL_064a;
1725 }
1726 }
1727 value17 = reference11.GetHashCode();
1728 goto IL_064a;
1729 IL_0766:
1731 val3 = default(T4);
1732 if (val3 == null)
1733 {
1734 val3 = reference12;
1736 if (val3 == null)
1737 {
1738 value18 = 0;
1739 goto IL_079e;
1740 }
1741 }
1742 value18 = reference12.GetHashCode();
1743 goto IL_079e;
1744 IL_064a:
1746 val7 = default(T6);
1747 if (val7 == null)
1748 {
1749 val7 = reference13;
1751 if (val7 == null)
1752 {
1753 value19 = 0;
1754 goto IL_0682;
1755 }
1756 }
1757 value19 = reference13.GetHashCode();
1758 goto IL_0682;
1759 IL_03d4:
1761 val7 = default(T6);
1762 if (val7 == null)
1763 {
1764 val7 = reference14;
1766 if (val7 == null)
1767 {
1768 value7 = 0;
1769 goto IL_040c;
1770 }
1771 }
1772 value7 = reference14.GetHashCode();
1773 goto IL_040c;
1774 IL_0276:
1776 val2 = default(T7);
1777 if (val2 == null)
1778 {
1779 val2 = reference15;
1781 if (val2 == null)
1782 {
1783 value13 = 0;
1784 goto IL_02ae;
1785 }
1786 }
1787 value13 = reference15.GetHashCode();
1788 goto IL_02ae;
1789 IL_079e:
1791 val5 = default(T5);
1792 if (val5 == null)
1793 {
1794 val5 = reference16;
1796 if (val5 == null)
1797 {
1798 value20 = 0;
1799 goto IL_07d6;
1800 }
1801 }
1802 value20 = reference16.GetHashCode();
1803 goto IL_07d6;
1804 IL_0682:
1806 val2 = default(T7);
1807 if (val2 == null)
1808 {
1809 val2 = reference18;
1811 if (val2 == null)
1812 {
1813 value21 = 0;
1814 goto IL_06ba;
1815 }
1816 }
1817 value21 = reference18.GetHashCode();
1818 goto IL_06ba;
1819 IL_052b:
1821 val2 = default(T7);
1822 if (val2 == null)
1823 {
1824 val2 = reference19;
1826 if (val2 == null)
1827 {
1828 value22 = 0;
1829 goto IL_0563;
1830 }
1831 }
1832 value22 = reference19.GetHashCode();
1833 goto IL_0563;
1834 IL_07d6:
1836 val7 = default(T6);
1837 if (val7 == null)
1838 {
1839 val7 = reference20;
1841 if (val7 == null)
1842 {
1843 value23 = 0;
1844 goto IL_080e;
1845 }
1846 }
1847 value23 = reference20.GetHashCode();
1848 goto IL_080e;
1849 IL_040c:
1851 val2 = default(T7);
1852 if (val2 == null)
1853 {
1854 val2 = reference22;
1856 if (val2 == null)
1857 {
1858 value8 = 0;
1859 goto IL_0444;
1860 }
1861 }
1862 value8 = reference22.GetHashCode();
1863 goto IL_0444;
1864 IL_035d:
1865 return HashCode.Combine(value10, value16, value3, hashCode);
1866 IL_080e:
1868 val2 = default(T7);
1869 if (val2 == null)
1870 {
1871 val2 = reference23;
1873 if (val2 == null)
1874 {
1875 value25 = 0;
1876 goto IL_0846;
1877 }
1878 }
1879 value25 = reference23.GetHashCode();
1880 goto IL_0846;
1881 IL_06ba:
1882 return HashCode.Combine(value27, value28, value4, value17, value19, value21, hashCode);
1883 IL_0846:
1884 return HashCode.Combine(value2, value9, value14, value18, value20, value23, value25, hashCode);
1885 IL_0563:
1886 return HashCode.Combine(value26, value29, value11, value15, value22, hashCode);
1887 IL_0483:
1889 val3 = default(T4);
1890 if (val3 == null)
1891 {
1892 val3 = reference27;
1894 if (val3 == null)
1895 {
1896 value29 = 0;
1897 goto IL_04bb;
1898 }
1899 }
1900 value29 = reference27.GetHashCode();
1901 goto IL_04bb;
1902 IL_0237:
1903 return HashCode.Combine(value24, hashCode);
1904 IL_05a2:
1906 val6 = default(T3);
1907 if (val6 == null)
1908 {
1909 val6 = reference28;
1911 if (val6 == null)
1912 {
1913 value28 = 0;
1914 goto IL_05da;
1915 }
1916 }
1917 value28 = reference28.GetHashCode();
1918 goto IL_05da;
1919 IL_039c:
1921 val5 = default(T5);
1922 if (val5 == null)
1923 {
1924 val5 = reference29;
1926 if (val5 == null)
1927 {
1928 value6 = 0;
1929 goto IL_03d4;
1930 }
1931 }
1932 value6 = reference29.GetHashCode();
1933 goto IL_03d4;
1934 }
1935 IL_00f2:
1936 ref T5 reference30 = ref Item5;
1937 val5 = default(T5);
1938 int value30;
1939 if (val5 == null)
1940 {
1941 val5 = reference30;
1943 if (val5 == null)
1944 {
1945 value30 = 0;
1946 goto IL_012a;
1947 }
1948 }
1949 value30 = reference30.GetHashCode();
1950 goto IL_012a;
1951 IL_019a:
1952 int value31;
1953 int value32;
1954 int value33;
1955 int value34;
1956 int value35;
1958 IL_0162:
1959 ref T7 reference31 = ref Item7;
1960 val2 = default(T7);
1961 if (val2 == null)
1962 {
1963 val2 = reference31;
1965 if (val2 == null)
1966 {
1967 value35 = 0;
1968 goto IL_019a;
1969 }
1970 }
1971 value35 = reference31.GetHashCode();
1972 goto IL_019a;
1973 IL_0082:
1974 ref T3 reference32 = ref Item3;
1975 val6 = default(T3);
1976 if (val6 == null)
1977 {
1978 val6 = reference32;
1980 if (val6 == null)
1981 {
1982 value32 = 0;
1983 goto IL_00ba;
1984 }
1985 }
1986 value32 = reference32.GetHashCode();
1987 goto IL_00ba;
1988 IL_012a:
1989 ref T6 reference33 = ref Item6;
1990 val7 = default(T6);
1991 if (val7 == null)
1992 {
1993 val7 = reference33;
1995 if (val7 == null)
1996 {
1997 value34 = 0;
1998 goto IL_0162;
1999 }
2000 }
2001 value34 = reference33.GetHashCode();
2002 goto IL_0162;
2003 IL_00ba:
2004 ref T4 reference34 = ref Item4;
2005 val3 = default(T4);
2006 if (val3 == null)
2007 {
2008 val3 = reference34;
2010 if (val3 == null)
2011 {
2012 value33 = 0;
2013 goto IL_00f2;
2014 }
2015 }
2016 value33 = reference34.GetHashCode();
2017 goto IL_00f2;
2018 IL_004a:
2019 ref T2 reference35 = ref Item2;
2020 val4 = default(T2);
2021 if (val4 == null)
2022 {
2023 val4 = reference35;
2025 if (val4 == null)
2026 {
2027 value31 = 0;
2028 goto IL_0082;
2029 }
2030 }
2031 value31 = reference35.GetHashCode();
2032 goto IL_0082;
2033 }
2034
2039
2041 {
2043 {
2044 return HashCode.Combine(comparer.GetHashCode(Item1), comparer.GetHashCode(Item2), comparer.GetHashCode(Item3), comparer.GetHashCode(Item4), comparer.GetHashCode(Item5), comparer.GetHashCode(Item6), comparer.GetHashCode(Item7));
2045 }
2046 int hashCode = valueTupleInternal.GetHashCode(comparer);
2047 if (length >= 8)
2048 {
2049 return hashCode;
2050 }
2051 switch (8 - length)
2052 {
2053 case 1:
2054 return HashCode.Combine(comparer.GetHashCode(Item7), hashCode);
2055 case 2:
2056 return HashCode.Combine(comparer.GetHashCode(Item6), comparer.GetHashCode(Item7), hashCode);
2057 case 3:
2058 return HashCode.Combine(comparer.GetHashCode(Item5), comparer.GetHashCode(Item6), comparer.GetHashCode(Item7), hashCode);
2059 case 4:
2060 return HashCode.Combine(comparer.GetHashCode(Item4), comparer.GetHashCode(Item5), comparer.GetHashCode(Item6), comparer.GetHashCode(Item7), hashCode);
2061 case 5:
2062 return HashCode.Combine(comparer.GetHashCode(Item3), comparer.GetHashCode(Item4), comparer.GetHashCode(Item5), comparer.GetHashCode(Item6), comparer.GetHashCode(Item7), hashCode);
2063 case 6:
2064 return HashCode.Combine(comparer.GetHashCode(Item2), comparer.GetHashCode(Item3), comparer.GetHashCode(Item4), comparer.GetHashCode(Item5), comparer.GetHashCode(Item6), comparer.GetHashCode(Item7), hashCode);
2065 case 7:
2066 case 8:
2067 return HashCode.Combine(comparer.GetHashCode(Item1), comparer.GetHashCode(Item2), comparer.GetHashCode(Item3), comparer.GetHashCode(Item4), comparer.GetHashCode(Item5), comparer.GetHashCode(Item6), comparer.GetHashCode(Item7), hashCode);
2068 default:
2069 return -1;
2070 }
2071 }
2072
2077
2078 public override string ToString()
2079 {
2080 string[] obj;
2081 T1 val;
2082 object obj2;
2084 {
2085 obj = new string[16]
2086 {
2087 "(", null, null, null, null, null, null, null, null, null,
2088 null, null, null, null, null, null
2089 };
2090 ref T1 reference = ref Item1;
2091 val = default(T1);
2092 if (val == null)
2093 {
2094 val = reference;
2095 reference = ref val;
2096 if (val == null)
2097 {
2098 obj2 = null;
2099 goto IL_005b;
2100 }
2101 }
2102 obj2 = reference.ToString();
2103 goto IL_005b;
2104 }
2105 string[] obj3 = new string[17]
2106 {
2107 "(", null, null, null, null, null, null, null, null, null,
2108 null, null, null, null, null, null, null
2109 };
2110 ref T1 reference2 = ref Item1;
2111 val = default(T1);
2112 object obj4;
2113 if (val == null)
2114 {
2115 val = reference2;
2116 reference2 = ref val;
2117 if (val == null)
2118 {
2119 obj4 = null;
2120 goto IL_0258;
2121 }
2122 }
2123 obj4 = reference2.ToString();
2124 goto IL_0258;
2125 IL_015f:
2126 object obj5;
2127 obj[9] = (string)obj5;
2128 obj[10] = ", ";
2129 ref T6 reference3 = ref Item6;
2130 T6 val2 = default(T6);
2131 object obj6;
2132 if (val2 == null)
2133 {
2134 val2 = reference3;
2136 if (val2 == null)
2137 {
2138 obj6 = null;
2139 goto IL_01a4;
2140 }
2141 }
2142 obj6 = reference3.ToString();
2143 goto IL_01a4;
2144 IL_0318:
2145 object obj7;
2146 obj3[7] = (string)obj7;
2147 obj3[8] = ", ";
2148 ref T5 reference4 = ref Item5;
2149 T5 val3 = default(T5);
2150 object obj8;
2151 if (val3 == null)
2152 {
2153 val3 = reference4;
2155 if (val3 == null)
2156 {
2157 obj8 = null;
2158 goto IL_035c;
2159 }
2160 }
2161 obj8 = reference4.ToString();
2162 goto IL_035c;
2163 IL_009b:
2164 object obj9;
2165 obj[3] = (string)obj9;
2166 obj[4] = ", ";
2167 ref T3 reference5 = ref Item3;
2168 T3 val4 = default(T3);
2169 object obj10;
2170 if (val4 == null)
2171 {
2172 val4 = reference5;
2174 if (val4 == null)
2175 {
2176 obj10 = null;
2177 goto IL_00db;
2178 }
2179 }
2180 obj10 = reference5.ToString();
2181 goto IL_00db;
2182 IL_005b:
2183 obj[1] = (string)obj2;
2184 obj[2] = ", ";
2185 ref T2 reference6 = ref Item2;
2186 T2 val5 = default(T2);
2187 if (val5 == null)
2188 {
2189 val5 = reference6;
2191 if (val5 == null)
2192 {
2193 obj9 = null;
2194 goto IL_009b;
2195 }
2196 }
2197 obj9 = reference6.ToString();
2198 goto IL_009b;
2199 IL_0258:
2200 obj3[1] = (string)obj4;
2201 obj3[2] = ", ";
2202 ref T2 reference7 = ref Item2;
2203 val5 = default(T2);
2204 object obj11;
2205 if (val5 == null)
2206 {
2207 val5 = reference7;
2209 if (val5 == null)
2210 {
2211 obj11 = null;
2212 goto IL_0298;
2213 }
2214 }
2215 obj11 = reference7.ToString();
2216 goto IL_0298;
2217 IL_00db:
2218 obj[5] = (string)obj10;
2219 obj[6] = ", ";
2220 ref T4 reference8 = ref Item4;
2221 T4 val6 = default(T4);
2222 object obj12;
2223 if (val6 == null)
2224 {
2225 val6 = reference8;
2227 if (val6 == null)
2228 {
2229 obj12 = null;
2230 goto IL_011b;
2231 }
2232 }
2233 obj12 = reference8.ToString();
2234 goto IL_011b;
2235 IL_03a1:
2236 object obj13;
2237 obj3[11] = (string)obj13;
2238 obj3[12] = ", ";
2239 ref T7 reference9 = ref Item7;
2240 T7 val7 = default(T7);
2241 object obj14;
2242 if (val7 == null)
2243 {
2244 val7 = reference9;
2246 if (val7 == null)
2247 {
2248 obj14 = null;
2249 goto IL_03e6;
2250 }
2251 }
2252 obj14 = reference9.ToString();
2253 goto IL_03e6;
2254 IL_035c:
2255 obj3[9] = (string)obj8;
2256 obj3[10] = ", ";
2257 ref T6 reference10 = ref Item6;
2258 val2 = default(T6);
2259 if (val2 == null)
2260 {
2261 val2 = reference10;
2263 if (val2 == null)
2264 {
2265 obj13 = null;
2266 goto IL_03a1;
2267 }
2268 }
2269 obj13 = reference10.ToString();
2270 goto IL_03a1;
2271 IL_0298:
2272 obj3[3] = (string)obj11;
2273 obj3[4] = ", ";
2274 ref T3 reference11 = ref Item3;
2275 val4 = default(T3);
2276 object obj15;
2277 if (val4 == null)
2278 {
2279 val4 = reference11;
2281 if (val4 == null)
2282 {
2283 obj15 = null;
2284 goto IL_02d8;
2285 }
2286 }
2287 obj15 = reference11.ToString();
2288 goto IL_02d8;
2289 IL_01e9:
2290 object obj16;
2291 obj[13] = (string)obj16;
2292 obj[14] = ", ";
2293 obj[15] = ((IValueTupleInternal)(object)Rest).ToStringEnd();
2294 return string.Concat(obj);
2295 IL_01a4:
2296 obj[11] = (string)obj6;
2297 obj[12] = ", ";
2298 ref T7 reference12 = ref Item7;
2299 val7 = default(T7);
2300 if (val7 == null)
2301 {
2302 val7 = reference12;
2304 if (val7 == null)
2305 {
2306 obj16 = null;
2307 goto IL_01e9;
2308 }
2309 }
2310 obj16 = reference12.ToString();
2311 goto IL_01e9;
2312 IL_011b:
2313 obj[7] = (string)obj12;
2314 obj[8] = ", ";
2315 ref T5 reference13 = ref Item5;
2316 val3 = default(T5);
2317 if (val3 == null)
2318 {
2319 val3 = reference13;
2321 if (val3 == null)
2322 {
2323 obj5 = null;
2324 goto IL_015f;
2325 }
2326 }
2327 obj5 = reference13.ToString();
2328 goto IL_015f;
2329 IL_02d8:
2330 obj3[5] = (string)obj15;
2331 obj3[6] = ", ";
2332 ref T4 reference14 = ref Item4;
2333 val6 = default(T4);
2334 if (val6 == null)
2335 {
2336 val6 = reference14;
2338 if (val6 == null)
2339 {
2340 obj7 = null;
2341 goto IL_0318;
2342 }
2343 }
2344 obj7 = reference14.ToString();
2345 goto IL_0318;
2346 IL_03e6:
2347 obj3[13] = (string)obj14;
2348 obj3[14] = ", ";
2349 obj3[15] = Rest.ToString();
2350 obj3[16] = ")";
2351 return string.Concat(obj3);
2352 }
2353
2355 {
2356 string[] array;
2357 T1 val;
2358 object obj;
2360 {
2361 array = new string[15];
2362 ref T1 reference = ref Item1;
2363 val = default(T1);
2364 if (val == null)
2365 {
2366 val = reference;
2367 reference = ref val;
2368 if (val == null)
2369 {
2370 obj = null;
2371 goto IL_0053;
2372 }
2373 }
2374 obj = reference.ToString();
2375 goto IL_0053;
2376 }
2377 string[] array2 = new string[16];
2378 ref T1 reference2 = ref Item1;
2379 val = default(T1);
2380 object obj2;
2381 if (val == null)
2382 {
2383 val = reference2;
2384 reference2 = ref val;
2385 if (val == null)
2386 {
2387 obj2 = null;
2388 goto IL_0247;
2389 }
2390 }
2391 obj2 = reference2.ToString();
2392 goto IL_0247;
2393 IL_0156:
2394 object obj3;
2395 array[8] = (string)obj3;
2396 array[9] = ", ";
2397 ref T6 reference3 = ref Item6;
2398 T6 val2 = default(T6);
2399 object obj4;
2400 if (val2 == null)
2401 {
2402 val2 = reference3;
2404 if (val2 == null)
2405 {
2406 obj4 = null;
2407 goto IL_019b;
2408 }
2409 }
2410 obj4 = reference3.ToString();
2411 goto IL_019b;
2412 IL_0307:
2413 object obj5;
2414 array2[6] = (string)obj5;
2415 array2[7] = ", ";
2416 ref T5 reference4 = ref Item5;
2417 T5 val3 = default(T5);
2418 object obj6;
2419 if (val3 == null)
2420 {
2421 val3 = reference4;
2423 if (val3 == null)
2424 {
2425 obj6 = null;
2426 goto IL_034a;
2427 }
2428 }
2429 obj6 = reference4.ToString();
2430 goto IL_034a;
2431 IL_0093:
2432 object obj7;
2433 array[2] = (string)obj7;
2434 array[3] = ", ";
2435 ref T3 reference5 = ref Item3;
2436 T3 val4 = default(T3);
2437 object obj8;
2438 if (val4 == null)
2439 {
2440 val4 = reference5;
2442 if (val4 == null)
2443 {
2444 obj8 = null;
2445 goto IL_00d3;
2446 }
2447 }
2448 obj8 = reference5.ToString();
2449 goto IL_00d3;
2450 IL_0053:
2451 array[0] = (string)obj;
2452 array[1] = ", ";
2453 ref T2 reference6 = ref Item2;
2454 T2 val5 = default(T2);
2455 if (val5 == null)
2456 {
2457 val5 = reference6;
2459 if (val5 == null)
2460 {
2461 obj7 = null;
2462 goto IL_0093;
2463 }
2464 }
2465 obj7 = reference6.ToString();
2466 goto IL_0093;
2467 IL_0247:
2468 array2[0] = (string)obj2;
2469 array2[1] = ", ";
2470 ref T2 reference7 = ref Item2;
2471 val5 = default(T2);
2472 object obj9;
2473 if (val5 == null)
2474 {
2475 val5 = reference7;
2477 if (val5 == null)
2478 {
2479 obj9 = null;
2480 goto IL_0287;
2481 }
2482 }
2483 obj9 = reference7.ToString();
2484 goto IL_0287;
2485 IL_00d3:
2486 array[4] = (string)obj8;
2487 array[5] = ", ";
2488 ref T4 reference8 = ref Item4;
2489 T4 val6 = default(T4);
2490 object obj10;
2491 if (val6 == null)
2492 {
2493 val6 = reference8;
2495 if (val6 == null)
2496 {
2497 obj10 = null;
2498 goto IL_0113;
2499 }
2500 }
2501 obj10 = reference8.ToString();
2502 goto IL_0113;
2503 IL_038f:
2504 object obj11;
2505 array2[10] = (string)obj11;
2506 array2[11] = ", ";
2507 ref T7 reference9 = ref Item7;
2508 T7 val7 = default(T7);
2509 object obj12;
2510 if (val7 == null)
2511 {
2512 val7 = reference9;
2514 if (val7 == null)
2515 {
2516 obj12 = null;
2517 goto IL_03d4;
2518 }
2519 }
2520 obj12 = reference9.ToString();
2521 goto IL_03d4;
2522 IL_034a:
2523 array2[8] = (string)obj6;
2524 array2[9] = ", ";
2525 ref T6 reference10 = ref Item6;
2526 val2 = default(T6);
2527 if (val2 == null)
2528 {
2529 val2 = reference10;
2531 if (val2 == null)
2532 {
2533 obj11 = null;
2534 goto IL_038f;
2535 }
2536 }
2537 obj11 = reference10.ToString();
2538 goto IL_038f;
2539 IL_0287:
2540 array2[2] = (string)obj9;
2541 array2[3] = ", ";
2542 ref T3 reference11 = ref Item3;
2543 val4 = default(T3);
2544 object obj13;
2545 if (val4 == null)
2546 {
2547 val4 = reference11;
2549 if (val4 == null)
2550 {
2551 obj13 = null;
2552 goto IL_02c7;
2553 }
2554 }
2555 obj13 = reference11.ToString();
2556 goto IL_02c7;
2557 IL_01e0:
2558 object obj14;
2559 array[12] = (string)obj14;
2560 array[13] = ", ";
2561 array[14] = ((IValueTupleInternal)(object)Rest).ToStringEnd();
2562 return string.Concat(array);
2563 IL_019b:
2564 array[10] = (string)obj4;
2565 array[11] = ", ";
2566 ref T7 reference12 = ref Item7;
2567 val7 = default(T7);
2568 if (val7 == null)
2569 {
2570 val7 = reference12;
2572 if (val7 == null)
2573 {
2574 obj14 = null;
2575 goto IL_01e0;
2576 }
2577 }
2578 obj14 = reference12.ToString();
2579 goto IL_01e0;
2580 IL_0113:
2581 array[6] = (string)obj10;
2582 array[7] = ", ";
2583 ref T5 reference13 = ref Item5;
2584 val3 = default(T5);
2585 if (val3 == null)
2586 {
2587 val3 = reference13;
2589 if (val3 == null)
2590 {
2591 obj3 = null;
2592 goto IL_0156;
2593 }
2594 }
2595 obj3 = reference13.ToString();
2596 goto IL_0156;
2597 IL_02c7:
2598 array2[4] = (string)obj13;
2599 array2[5] = ", ";
2600 ref T4 reference14 = ref Item4;
2601 val6 = default(T4);
2602 if (val6 == null)
2603 {
2604 val6 = reference14;
2606 if (val6 == null)
2607 {
2608 obj5 = null;
2609 goto IL_0307;
2610 }
2611 }
2612 obj5 = reference14.ToString();
2613 goto IL_0307;
2614 IL_03d4:
2615 array2[12] = (string)obj12;
2616 array2[13] = ", ";
2617 array2[14] = Rest.ToString();
2618 array2[15] = ")";
2619 return string.Concat(array2);
2620 }
2621}
static string ArgumentException_ValueTupleLastArgumentNotAValueTuple
Definition SR.cs:928
Definition SR.cs:7
static void ThrowArgumentException_TupleIncorrectType(object obj)
int CompareTo(object? other, IComparer comparer)
int GetHashCode(IEqualityComparer comparer)
bool Equals(object? other, IEqualityComparer comparer)
int CompareTo(object? obj)
int GetHashCode(IEqualityComparer comparer)
bool Equals((T1, T2, T3) other)
int ITuple. Length
Definition ValueTuple.cs:14
int CompareTo(ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest > other)
bool Equals(ValueTuple< T1 > other)
override int GetHashCode()
Definition ValueTuple.cs:70
bool Equals(ValueTuple other)
Definition ValueTuple.cs:29
ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7)
static ValueTuple< T1 > Create< T1 >(T1 item1)
ValueTuple(T1 item1)
int CompareTo((T1, T2, T3, T4, T5) other)
override string ToString()
Definition ValueTuple.cs:85
int CompareTo((T1, T2, T3, T4, T5, T6) other)
bool Equals(ValueTuple< T1, T2, T3, T4, T5, T6, T7, TRest > other)
override bool Equals([NotNullWhen(true)] object? obj)
Definition ValueTuple.cs:24
ValueTuple(T1 item1, T2 item2)
bool Equals((T1, T2, T3, T4) other)
int CompareTo((T1, T2, T3, T4, T5, T6, T7) other)
int CompareTo(ValueTuple other)
Definition ValueTuple.cs:52
int IComparable. CompareTo(object other)
Definition ValueTuple.cs:39
int CompareTo((T1, T2) other)
ValueTuple(T1 item1, T2 item2, T3 item3)
ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6)
string IValueTupleInternal. ToStringEnd()
Definition ValueTuple.cs:90
bool Equals((T1, T2) other)
bool Equals((T1, T2, T3, T4, T5, T6, T7) other)
int CompareTo(ValueTuple< T1 > other)
int GetHashCodeCore(IEqualityComparer comparer)
bool Equals((T1, T2, T3, T4, T5) other)
int CompareTo((T1, T2, T3, T4) other)
static ValueTuple Create()
Definition ValueTuple.cs:95
ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4)
bool Equals((T1, T2, T3, T4, T5, T6) other)
int CompareTo((T1, T2, T3) other)
ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5)
ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, TRest rest)