TupleExtensions.Deconstruct Method

Definition

Deconstructs the components of a tuple into separate variables.

Overloads

Name Description
Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15, T16,T17,T18,T19,T20,T21>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8, T9,T10,T11,T12,T13,T14,Tuple<T15,T16,T17,T18,T19,T20,T21>>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)

Deconstructs a tuple with 21 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15, T16,T17,T18,T19,T20>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10, T11,T12,T13,T14,Tuple<T15,T16,T17,T18,T19,T20>>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)

Deconstructs a tuple with 20 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15, T16,T17,T18,T19>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11, T12,T13,T14,Tuple<T15,T16,T17,T18,T19>>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)

Deconstructs a tuple with 19 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15, T16,T17,T18>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12, T13,T14,Tuple<T15,T16,T17,T18>>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)

Deconstructs a tuple with 18 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15, T16,T17>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12,T13, T14,Tuple<T15,T16,T17>>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)

Deconstructs a tuple with 17 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15, T16>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12,T13,T14, Tuple<T15,T16>>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)

Deconstructs a tuple with 16 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>(Tuple<T1, T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12,T13,T14,Tuple<T15>>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

Deconstructs a tuple with 15 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>(Tuple<T1, T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12,T13,T14>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

Deconstructs a tuple with 14 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>(Tuple<T1, T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12,T13>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

Deconstructs a tuple with 13 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>(Tuple<T1, T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Deconstructs a tuple with 12 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Deconstructs a tuple with 11 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Deconstructs a tuple with 10 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9>>, T1, T2, T3, T4, T5, T6, T7, T8, T9)

Deconstructs a tuple with 9 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8>>, T1, T2, T3, T4, T5, T6, T7, T8)

Deconstructs a tuple with 8 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6,T7>(Tuple<T1,T2,T3,T4,T5,T6,T7>, T1, T2, T3, T4, T5, T6, T7)

Deconstructs a tuple with 7 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5,T6>(Tuple<T1,T2,T3,T4,T5,T6>, T1, T2, T3, T4, T5, T6)

Deconstructs a tuple with 6 elements into separate variables.

Deconstruct<T1,T2,T3,T4,T5>(Tuple<T1,T2,T3,T4,T5>, T1, T2, T3, T4, T5)

Deconstructs a tuple with 5 elements into separate variables.

Deconstruct<T1,T2,T3,T4>(Tuple<T1,T2,T3,T4>, T1, T2, T3, T4)

Deconstructs a tuple with 4 elements into separate variables.

Deconstruct<T1,T2,T3>(Tuple<T1,T2,T3>, T1, T2, T3)

Deconstructs a tuple with 3 elements into separate variables.

Deconstruct<T1,T2>(Tuple<T1,T2>, T1, T2)

Deconstructs a tuple with 2 elements into separate variables.

Deconstruct<T1>(Tuple<T1>, T1)

Deconstructs a tuple with 1 element into a separate variable.

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15, T16,T17,T18,T19,T20,T21>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8, T9,T10,T11,T12,T13,T14,Tuple<T15,T16,T17,T18,T19,T20,T21>>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)

Source:
TupleExtensions.cs
Source:
TupleExtensions.cs
Source:
TupleExtensions.cs
Source:
TupleExtensions.cs
Source:
TupleExtensions.cs

Deconstructs a tuple with 21 elements into separate variables.

public:
generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14, typename T15, typename T16, typename T17, typename T18, typename T19, typename T20, typename T21>
[System::Runtime::CompilerServices::Extension]
 static void Deconstruct(Tuple<T1, T2, T3, T4, T5, T6, T7, Tuple<T8, T9, T10, T11, T12, T13, T14, Tuple<T15, T16, T17, T18, T19, T20, T21> ^> ^> ^ value, [Runtime::InteropServices::Out] T1 % item1, [Runtime::InteropServices::Out] T2 % item2, [Runtime::InteropServices::Out] T3 % item3, [Runtime::InteropServices::Out] T4 % item4, [Runtime::InteropServices::Out] T5 % item5, [Runtime::InteropServices::Out] T6 % item6, [Runtime::InteropServices::Out] T7 % item7, [Runtime::InteropServices::Out] T8 % item8, [Runtime::InteropServices::Out] T9 % item9, [Runtime::InteropServices::Out] T10 % item10, [Runtime::InteropServices::Out] T11 % item11, [Runtime::InteropServices::Out] T12 % item12, [Runtime::InteropServices::Out] T13 % item13, [Runtime::InteropServices::Out] T14 % item14, [Runtime::InteropServices::Out] T15 % item15, [Runtime::InteropServices::Out] T16 % item16, [Runtime::InteropServices::Out] T17 % item17, [Runtime::InteropServices::Out] T18 % item18, [Runtime::InteropServices::Out] T19 % item19, [Runtime::InteropServices::Out] T20 % item20, [Runtime::InteropServices::Out] T21 % item21);
public static void Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21>(this Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12,T13,T14,Tuple<T15,T16,T17,T18,T19,T20,T21>>> value, out T1 item1, out T2 item2, out T3 item3, out T4 item4, out T5 item5, out T6 item6, out T7 item7, out T8 item8, out T9 item9, out T10 item10, out T11 item11, out T12 item12, out T13 item13, out T14 item14, out T15 item15, out T16 item16, out T17 item17, out T18 item18, out T19 item19, out T20 item20, out T21 item21);
static member Deconstruct : 'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6 * 'T7 * 'T8 * 'T9 * 'T10 * 'T11 * 'T12 * 'T13 * 'T14 * 'T15 * 'T16 * 'T17 * 'T18 * 'T19 * 'T20 * 'T21 * 'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6 * 'T7 * 'T8 * 'T9 * 'T10 * 'T11 * 'T12 * 'T13 * 'T14 * 'T15 * 'T16 * 'T17 * 'T18 * 'T19 * 'T20 * 'T21 -> unit
<Extension()>
Public Sub Deconstruct(Of T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) (value As Tuple(Of T1, T2, T3, T4, T5, T6, T7, Tuple(Of T8, T9, T10, T11, T12, T13, T14, Tuple(Of T15, T16, T17, T18, T19, T20, T21))), ByRef item1 As T1, ByRef item2 As T2, ByRef item3 As T3, ByRef item4 As T4, ByRef item5 As T5, ByRef item6 As T6, ByRef item7 As T7, ByRef item8 As T8, ByRef item9 As T9, ByRef item10 As T10, ByRef item11 As T11, ByRef item12 As T12, ByRef item13 As T13, ByRef item14 As T14, ByRef item15 As T15, ByRef item16 As T16, ByRef item17 As T17, ByRef item18 As T18, ByRef item19 As T19, ByRef item20 As T20, ByRef item21 As T21)

Type Parameters

T1

The type of the first element.

T2

The type of the second element.

T3

The type of the third element.

T4

The type of the fourth element.

T5

The type of the fifth element.

T6

The type of the sixth element.

T7

The type of the seventh element.

T8

The type of the eighth element.

T9

The type of the ninth element.

T10

The type of the tenth element.

T11

The type of the eleventh element.

T12

The type of the twelfth element.

T13

The type of the thirteenth element.

T14

The type of the fourteenth element.

T15

The type of the fifteenth element.

T16

The type of the sixteenth element.

T17

The type of the seventeenth element.

T18

The type of the eighteenth element.

T19

The type of the nineteenth element.

T20

The type of the twentieth element.

T21

The type of the twenty-first element.

Parameters

value
Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12,T13,T14,Tuple<T15,T16,T17,T18,T19,T20,T21>>>

The 21-element tuple to deconstruct into 21 separate variables.

item1
T1

When this method returns, contains the value of the first element.

item2
T2

When this method returns, contains the value of the second element.

item3
T3

When this method returns, contains the value of the third element.

item4
T4

When this method returns, contains the value of the fourth element.

item5
T5

When this method returns, contains the value of the fifth element.

item6
T6

When this method returns, contains the value of the sixth element.

item7
T7

When this method returns, contains the value of the seventh element.

item8
T8

When this method returns, contains the value of the eighth element, or value.Rest.Item1.

item9
T9

When this method returns, contains the value of the ninth element, or value.Rest.Item2.

item10
T10

When this method returns, contains the value of the tenth element, or value.Rest.Item3.

item11
T11

When this method returns, contains the value of the eleventh element, or value.Rest.Item4.

item12
T12

When this method returns, contains the value of the twelfth element, or value.Rest.Item5.

item13
T13

When this method returns, contains the value of the thirteenth element, or value.Rest.Item6.

item14
T14

When this method returns, contains the value of the fourteenth element, or value.Rest.Item7.

item15
T15

When this method returns, contains the value of the fifteenth element, or value.Rest.Rest.Item1.

item16
T16

When this method returns, contains the value of the sixteenth element, or value.Rest.Rest.Item2.

item17
T17

When this method returns, contains the value of the seventeenth element, or value.Rest.Rest.Item3.

item18
T18

When this method returns, contains the value of the eighteenth element, or value.Rest.Rest.Item4.

item19
T19

When this method returns, contains the value of the nineteenth element, or value.Rest.Rest.Item5.

item20
T20

When this method returns, contains the value of the twentieth element, or value.Rest.Rest.Item6.

item21
T21

When this method returns, contains the value of the twenty-first element, or value.Rest.Rest.Item7.

Remarks

This method is implemented primarily to support the tuple language features in C#.

Because the .NET Framework tuple types implement tuples with more than 7 elements by nesting a tuple in Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Rest, item8 through item21 are elements of nested tuples.

See also

Applies to

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15, T16,T17,T18,T19,T20>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10, T11,T12,T13,T14,Tuple<T15,T16,T17,T18,T19,T20>>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)

Source:
TupleExtensions.cs
Source:
TupleExtensions.cs
Source:
TupleExtensions.cs
Source:
TupleExtensions.cs
Source:
TupleExtensions.cs

Deconstructs a tuple with 20 elements into separate variables.

public:
generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14, typename T15, typename T16, typename T17, typename T18, typename T19, typename T20>
[System::Runtime::CompilerServices::Extension]
 static void Deconstruct(Tuple<T1, T2, T3, T4, T5, T6, T7, Tuple<T8, T9, T10, T11, T12, T13, T14, Tuple<T15, T16, T17, T18, T19, T20> ^> ^> ^ value, [Runtime::InteropServices::Out] T1 % item1, [Runtime::InteropServices::Out] T2 % item2, [Runtime::InteropServices::Out] T3 % item3, [Runtime::InteropServices::Out] T4 % item4, [Runtime::InteropServices::Out] T5 % item5, [Runtime::InteropServices::Out] T6 % item6, [Runtime::InteropServices::Out] T7 % item7, [Runtime::InteropServices::Out] T8 % item8, [Runtime::InteropServices::Out] T9 % item9, [Runtime::InteropServices::Out] T10 % item10, [Runtime::InteropServices::Out] T11 % item11, [Runtime::InteropServices::Out] T12 % item12, [Runtime::InteropServices::Out] T13 % item13, [Runtime::InteropServices::Out] T14 % item14, [Runtime::InteropServices::Out] T15 % item15, [Runtime::InteropServices::Out] T16 % item16, [Runtime::InteropServices::Out] T17 % item17, [Runtime::InteropServices::Out] T18 % item18, [Runtime::InteropServices::Out] T19 % item19, [Runtime::InteropServices::Out] T20 % item20);
public static void Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20>(this Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12,T13,T14,Tuple<T15,T16,T17,T18,T19,T20>>> value, out T1 item1, out T2 item2, out T3 item3, out T4 item4, out T5 item5, out T6 item6, out T7 item7, out T8 item8, out T9 item9, out T10 item10, out T11 item11, out T12 item12, out T13 item13, out T14 item14, out T15 item15, out T16 item16, out T17 item17, out T18 item18, out T19 item19, out T20 item20);
static member Deconstruct : 'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6 * 'T7 * 'T8 * 'T9 * 'T10 * 'T11 * 'T12 * 'T13 * 'T14 * 'T15 * 'T16 * 'T17 * 'T18 * 'T19 * 'T20 * 'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6 * 'T7 * 'T8 * 'T9 * 'T10 * 'T11 * 'T12 * 'T13 * 'T14 * 'T15 * 'T16 * 'T17 * 'T18 * 'T19 * 'T20 -> unit
<Extension()>
Public Sub Deconstruct(Of T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) (value As Tuple(Of T1, T2, T3, T4, T5, T6, T7, Tuple(Of T8, T9, T10, T11, T12, T13, T14, Tuple(Of T15, T16, T17, T18, T19, T20))), ByRef item1 As T1, ByRef item2 As T2, ByRef item3 As T3, ByRef item4 As T4, ByRef item5 As T5, ByRef item6 As T6, ByRef item7 As T7, ByRef item8 As T8, ByRef item9 As T9, ByRef item10 As T10, ByRef item11 As T11, ByRef item12 As T12, ByRef item13 As T13, ByRef item14 As T14, ByRef item15 As T15, ByRef item16 As T16, ByRef item17 As T17, ByRef item18 As T18, ByRef item19 As T19, ByRef item20 As T20)

Type Parameters

T1

The type of the first element.

T2

The type of the second element.

T3

The type of the third element.

T4

The type of the fourth element.

T5

The type of the fifth element.

T6

The type of the sixth element.

T7

The type of the seventh element.

T8

The type of the eighth element.

T9

The type of the ninth element.

T10

The type of the tenth element.

T11

The type of the eleventh element.

T12

The type of the twelfth element.

T13

The type of the thirteenth element.

T14

The type of the fourteenth element.

T15

The type of the fifteenth element.

T16

The type of the sixteenth element.

T17

The type of the seventeenth element.

T18

The type of the eighteenth element.

T19

The type of the nineteenth element.

T20

The type of the twentieth element.

Parameters

value
Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12,T13,T14,Tuple<T15,T16,T17,T18,T19,T20>>>

The 20-element tuple to deconstruct into 20 separate variables.

item1
T1

When this method returns, contains the value of the first element.

item2
T2

When this method returns, contains the value of the second element.

item3
T3

When this method returns, contains the value of the third element.

item4
T4

When this method returns, contains the value of the fourth element.

item5
T5

When this method returns, contains the value of the fifth element.

item6
T6

When this method returns, contains the value of the sixth element.

item7
T7

When this method returns, contains the value of the seventh element.

item8
T8

When this method returns, contains the value of the eighth element, or value.Rest.Item1.

item9
T9

When this method returns, contains the value of the ninth element, or value.Rest.Item2.

item10
T10

When this method returns, contains the value of the tenth element, or value.Rest.Item3.

item11
T11

When this method returns, contains the value of the eleventh element, or value.Rest.Item4.

item12
T12

When this method returns, contains the value of the twelfth element, or value.Rest.Item5.

item13
T13

When this method returns, contains the value of the thirteenth element, or value.Rest.Item6.

item14
T14

When this method returns, contains the value of the fourteenth element, or value.Rest.Item7.

item15
T15

When this method returns, contains the value of the fifteenth element, or value.Rest.Rest.Item1.

item16
T16

When this method returns, contains the value of the sixteenth element, or value.Rest.Rest.Item2.

item17
T17

When this method returns, contains the value of the seventeenth element, or value.Rest.Rest.Item3.

item18
T18

When this method returns, contains the value of the eighteenth element, or value.Rest.Rest.Item4.

item19
T19

When this method returns, contains the value of the nineteenth element, or value.Rest.Rest.Item5.

item20
T20

When this method returns, contains the value of the twentieth element, or value.Rest.Rest.Item6.

See also

Applies to

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15, T16,T17,T18,T19>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11, T12,T13,T14,Tuple<T15,T16,T17,T18,T19>>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)

Source:
TupleExtensions.cs
Source:
TupleExtensions.cs
Source:
TupleExtensions.cs
Source:
TupleExtensions.cs
Source:
TupleExtensions.cs

Deconstructs a tuple with 19 elements into separate variables.

public:
generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14, typename T15, typename T16, typename T17, typename T18, typename T19>
[System::Runtime::CompilerServices::Extension]
 static void Deconstruct(Tuple<T1, T2, T3, T4, T5, T6, T7, Tuple<T8, T9, T10, T11, T12, T13, T14, Tuple<T15, T16, T17, T18, T19> ^> ^> ^ value, [Runtime::InteropServices::Out] T1 % item1, [Runtime::InteropServices::Out] T2 % item2, [Runtime::InteropServices::Out] T3 % item3, [Runtime::InteropServices::Out] T4 % item4, [Runtime::InteropServices::Out] T5 % item5, [Runtime::InteropServices::Out] T6 % item6, [Runtime::InteropServices::Out] T7 % item7, [Runtime::InteropServices::Out] T8 % item8, [Runtime::InteropServices::Out] T9 % item9, [Runtime::InteropServices::Out] T10 % item10, [Runtime::InteropServices::Out] T11 % item11, [Runtime::InteropServices::Out] T12 % item12, [Runtime::InteropServices::Out] T13 % item13, [Runtime::InteropServices::Out] T14 % item14, [Runtime::InteropServices::Out] T15 % item15, [Runtime::InteropServices::Out] T16 % item16, [Runtime::InteropServices::Out] T17 % item17, [Runtime::InteropServices::Out] T18 % item18, [Runtime::InteropServices::Out] T19 % item19);
public static void Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>(this Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12,T13,T14,Tuple<T15,T16,T17,T18,T19>>> value, out T1 item1, out T2 item2, out T3 item3, out T4 item4, out T5 item5, out T6 item6, out T7 item7, out T8 item8, out T9 item9, out T10 item10, out T11 item11, out T12 item12, out T13 item13, out T14 item14, out T15 item15, out T16 item16, out T17 item17, out T18 item18, out T19 item19);
static member Deconstruct : 'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6 * 'T7 * 'T8 * 'T9 * 'T10 * 'T11 * 'T12 * 'T13 * 'T14 * 'T15 * 'T16 * 'T17 * 'T18 * 'T19 * 'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6 * 'T7 * 'T8 * 'T9 * 'T10 * 'T11 * 'T12 * 'T13 * 'T14 * 'T15 * 'T16 * 'T17 * 'T18 * 'T19 -> unit
<Extension()>
Public Sub Deconstruct(Of T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) (value As Tuple(Of T1, T2, T3, T4, T5, T6, T7, Tuple(Of T8, T9, T10, T11, T12, T13, T14, Tuple(Of T15, T16, T17, T18, T19))), ByRef item1 As T1, ByRef item2 As T2, ByRef item3 As T3, ByRef item4 As T4, ByRef item5 As T5, ByRef item6 As T6, ByRef item7 As T7, ByRef item8 As T8, ByRef item9 As T9, ByRef item10 As T10, ByRef item11 As T11, ByRef item12 As T12, ByRef item13 As T13, ByRef item14 As T14, ByRef item15 As T15, ByRef item16 As T16, ByRef item17 As T17, ByRef item18 As T18, ByRef item19 As T19)

Type Parameters

T1

The type of the first element.

T2

The type of the second element.

T3

The type of the third element.

T4

The type of the fourth element.

T5

The type of the fifth element.

T6

The type of the sixth element.

T7

The type of the seventh element.

T8

The type of the eighth element.

T9

The type of the ninth element.

T10

The type of the tenth element.

T11

The type of the eleventh element.

T12

The type of the twelfth element.

T13

The type of the thirteenth element.

T14

The type of the fourteenth element.

T15

The type of the fifteenth element.

T16

The type of the sixteenth element.

T17

The type of the seventeenth element.

T18

The type of the eighteenth element.

T19

The type of the nineteenth element.

Parameters

value
Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12,T13,T14,Tuple<T15,T16,T17,T18,T19>>>

The 19-element tuple to deconstruct into 19 separate variables.

item1
T1

When this method returns, contains the value of the first element.

item2
T2

When this method returns, contains the value of the second element.

item3
T3

When this method returns, contains the value of the third element.

item4
T4

When this method returns, contains the value of the fourth element.

item5
T5

When this method returns, contains the value of the fifth element.

item6
T6

When this method returns, contains the value of the sixth element.

item7
T7

When this method returns, contains the value of the seventh element.

item8
T8

When this method returns, contains the value of the eighth element, or value.Rest.Item1.

item9
T9

When this method returns, contains the value of the ninth element, or value.Rest.Item2.

item10
T10

When this method returns, contains the value of the tenth element, or value.Rest.Item3.

item11
T11

When this method returns, contains the value of the eleventh element, or value.Rest.Item4.

item12
T12

When this method returns, contains the value of the twelfth element, or value.Rest.Item5.

item13
T13

When this method returns, contains the value of the thirteenth element, or value.Rest.Item6.

item14
T14

When this method returns, contains the value of the fourteenth element, or value.Rest.Item7.

item15
T15

When this method returns, contains the value of the fifteenth element, or value.Rest.Rest.Item1.

item16
T16

When this method returns, contains the value of the sixteenth element, or value.Rest.Rest.Item2.

item17
T17

When this method returns, contains the value of the seventeenth element, or value.Rest.Rest.Item3.

item18
T18

When this method returns, contains the value of the eighteenth element, or value.Rest.Rest.Item4.

item19
T19

When this method returns, contains the value of the nineteenth element, or value.Rest.Rest.Item5.

Remarks

This method is implemented primarily to support the tuple language features in C#.

Because the .NET Framework tuple types implement tuples with more than 7 elements by nesting a tuple in Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Rest, item8 through item19 are elements of nested tuples.

See also

Applies to

Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15, T16,T17,T18>(Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12, T13,T14,Tuple<T15,T16,T17,T18>>>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)

Source:
TupleExtensions.cs
Source:
TupleExtensions.cs
Source:
TupleExtensions.cs
Source:
TupleExtensions.cs
Source:
TupleExtensions.cs

Deconstructs a tuple with 18 elements into separate variables.

public:
generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14, typename T15, typename T16, typename T17, typename T18>
[System::Runtime::CompilerServices::Extension]
 static void Deconstruct(Tuple<T1, T2, T3, T4, T5, T6, T7, Tuple<T8, T9, T10, T11, T12, T13, T14, Tuple<T15, T16, T17, T18> ^> ^> ^ value, [Runtime::InteropServices::Out] T1 % item1, [Runtime::InteropServices::Out] T2 % item2, [Runtime::InteropServices::Out] T3 % item3, [Runtime::InteropServices::Out] T4 % item4, [Runtime::InteropServices::Out] T5 % item5, [Runtime::InteropServices::Out] T6 % item6, [Runtime::InteropServices::Out] T7 % item7, [Runtime::InteropServices::Out] T8 % item8, [Runtime::InteropServices::Out] T9 % item9, [Runtime::InteropServices::Out] T10 % item10, [Runtime::InteropServices::Out] T11 % item11, [Runtime::InteropServices::Out] T12 % item12, [Runtime::InteropServices::Out] T13 % item13, [Runtime::InteropServices::Out] T14 % item14, [Runtime::InteropServices::Out] T15 % item15, [Runtime::InteropServices::Out] T16 % item16, [Runtime::InteropServices::Out] T17 % item17, [Runtime::InteropServices::Out] T18 % item18);
public static void Deconstruct<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18>(this Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12,T13,T14,Tuple<T15,T16,T17,T18>>> value, out T1 item1, out T2 item2, out T3 item3, out T4 item4, out T5 item5, out T6 item6, out T7 item7, out T8 item8, out T9 item9, out T10 item10, out T11 item11, out T12 item12, out T13 item13, out T14 item14, out T15 item15, out T16 item16, out T17 item17, out T18 item18);
static member Deconstruct : 'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6 * 'T7 * 'T8 * 'T9 * 'T10 * 'T11 * 'T12 * 'T13 * 'T14 * 'T15 * 'T16 * 'T17 * 'T18 * 'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6 * 'T7 * 'T8 * 'T9 * 'T10 * 'T11 * 'T12 * 'T13 * 'T14 * 'T15 * 'T16 * 'T17 * 'T18 -> unit
<Extension()>
Public Sub Deconstruct(Of T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) (value As Tuple(Of T1, T2, T3, T4, T5, T6, T7, Tuple(Of T8, T9, T10, T11, T12, T13, T14, Tuple(Of T15, T16, T17, T18))), ByRef item1 As T1, ByRef item2 As T2, ByRef item3 As T3, ByRef item4 As T4, ByRef item5 As T5, ByRef item6 As T6, ByRef item7 As T7, ByRef item8 As T8, ByRef item9 As T9, ByRef item10 As T10, ByRef item11 As T11, ByRef item12 As T12, ByRef item13 As T13, ByRef item14 As T14, ByRef item15 As T15, ByRef item16 As T16, ByRef item17 As T17, ByRef item18 As T18)

Type Parameters

T1

The type of the first element.

T2

The type of the second element.

T3

The type of the third element.

T4

The type of the fourth element.

T5

The type of the fifth element.

T6

The type of the sixth element.

T7

The type of the seventh element.

T8

The type of the eighth element.

T9

The type of the ninth element.

T10

The type of the tenth element.

T11

The type of the eleventh element.

T12

The type of the twelfth element.

T13

The type of the thirteenth element.

T14

The type of the fourteenth element.

T15

The type of the fifteenth element.

T16

The type of the sixteenth element.

T17

The type of the seventeenth element.

T18

The type of the eighteenth element.

Parameters

value
Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8,T9,T10,T11,T12,T13,T14,Tuple<T15,T16,T17,T18>>>

The 18-element tuple to deconstruct into 18 separate variables.

item1
T1

When this method returns, contains the value of the first element.

item2
T2

When this method returns, contains the value of the second element.

item3
T3

When this method returns, contains the value of the third element.

item4
T4

When this method returns, contains the value of the fourth element.

item5
T5

When this method returns, contains the value of the fifth element.

item6
T6

When this method returns, contains the value of the sixth element.

item7
T7

When this method returns, contains the value of the seventh element.

item8
T8

When this method returns, contains the value of the eighth element, or value.Rest.Item1.

item9
T9

When this method returns, contains the value of the ninth element, or value.Rest.Item2.

item10
T10

When this method returns, contains the value of the tenth element, or value.Rest.Item3.

item11
T11

When this method returns, contains the value of the eleventh element, or value.Rest.Item4.

item12
T12

When this method returns, contains the value of the twelfth element, or value.Rest.Item5.

item13
T13

When this method returns, contains the value of the thirteenth element, or value.Rest.Item6.

item14
T14

When this method returns, contains the value of the fourteenth element, or value.Rest.Item7.

item15
T15

When this method returns, contains the value of the fifteenth element, or value.Rest.Rest.Item1.

item16
T16

When this method returns, contains the value of the sixteenth element, or value.Rest.Rest.Item2.

item17
T17

When this method returns, contains the value of the seventeenth element, or value.Rest.Rest.Item3.

item18
T18

When this method returns, contains the value of the eighteenth element, or value.Rest.Rest.Item4.

Remarks

This method is implemented primarily to support the tuple language features in C#.

Because the .NET Framework tuple types implement tuples with more than 7 elements by nesting a tuple in Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Rest, item8 through item18 are elements of nested tuples.

See also