다음을 통해 공유


Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 생성자

정의

Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 클래스의 새 인스턴스를 초기화합니다.

public:
 Tuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, TRest rest);
public Tuple (T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, TRest rest);
new Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> : 'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6 * 'T7 * 'Rest -> Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest>
Public Sub New (item1 As T1, item2 As T2, item3 As T3, item4 As T4, item5 As T5, item6 As T6, item7 As T7, rest As TRest)

매개 변수

item1
T1

튜플의 첫 번째 구성 요소 값입니다.

item2
T2

튜플의 두 번째 구성 요소 값입니다.

item3
T3

튜플의 세 번째 구성 요소 값입니다.

item4
T4

튜플의 네 번째 구성 요소 값입니다.

item5
T5

튜플의 다섯 번째 구성 요소 값입니다.

item6
T6

튜플의 여섯 번째 구성 요소 값입니다.

item7
T7

튜플의 일곱 번째 구성 요소 값입니다.

rest
TRest

튜플의 나머지 구성 요소 값을 포함하는 제네릭 Tuple 개체입니다.

예외

rest가 제네릭 Tuple 개체가 아닌 경우

예제

다음 예제에서는 1860년부터 2000까지의 각 인구 조사에 대해 미시간 주 디트로이트 시의 인구 데이터를 포함하는 17개의 튜플을 만듭니다. 튜플의 첫 번째 구성 요소는 도시 이름입니다. 두 번째 구성 요소는 일련의 데이터의 시작 날짜이고, 세 번째 구성 요소는 시작 날짜의 모집단입니다. 이후의 각 구성 요소는 10년 간격으로 모집단을 제공합니다. 이 예제에서는 두 계층의 중첩을 사용하여 17개 튜플을 만듭니다. 세 번째부터 일곱 번째 구성 요소까지의 7개 튜플에는 1860~1900년, 1910년에서 1970년까지의 인구 데이터가 포함된 중첩된 7개 튜플, 1980~2000년 동안의 모집단 데이터가 포함된 중첩된 3개 튜플이 정의됩니다.

var from1980 = Tuple.Create(1203339, 1027974, 951270);
var from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>> 
    (465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980);
var population = new Tuple<string, int, int, int, int, int, int,
    Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>> 
    ("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910);
let from1980 = Tuple.Create(1203339, 1027974, 951270)
let from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>(465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980)
let population = new Tuple<string, int, int, int, int, int, int, Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>>("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910)
Dim from1980 = Tuple.Create(1203339, 1027974, 951270)
Dim from1910 As New Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, _
    Tuple(Of Integer, Integer, Integer)) _
    (465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980)
Dim population As New Tuple(Of String, Integer, Integer, Integer, Integer, Integer, Integer, _ 
    Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, Tuple(Of Integer, Integer, Integer))) _
    ("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910)

설명

또한 정적 Tuple.Create 메서드를 사용하여 해당 구성 요소의 형식을 명시적으로 지정하지 않고도 8개 튜플(octuple) 개체를 인스턴스화할 수 있습니다. 다음 예제에서는 메서드를 Tuple.Create 사용하여 20보다 작은 소수를 포함하는 8개의 튜플 개체를 인스턴스화합니다.

var primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19);
Console.WriteLine("Prime numbers less than 20: " + 
                  "{0}, {1}, {2}, {3}, {4}, {5}, {6}, and {7}",
                  primes.Item1, primes.Item2, primes.Item3, 
                  primes.Item4, primes.Item5, primes.Item6,
                  primes.Item7, primes.Rest.Item1);
// The example displays the following output:
//    Prime numbers less than 20: 2, 3, 5, 7, 11, 13, 17, and 19
open System

let primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19)
printfn $"Prime numbers less than 20: {primes.Item1}, {primes.Item2}, {primes.Item3}, {primes.Item4}, {primes.Item5}, {primes.Item6}, {primes.Item7}, and {primes.Rest.Item1}"
//    Prime numbers less than 20: 2, 3, 5, 7, 11, 13, 17, and 19
Dim primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19)
Console.WriteLine("Prime numbers less than 20: " + 
                  "{0}, {1}, {2}, {3}, {4}, {5}, {6}, and {7}",
                  primes.Item1, primes.Item2, primes.Item3, 
                  primes.Item4, primes.Item5, primes.Item6,
                  primes.Item7, primes.Rest.Item1)
' The example displays the following output:
'     Prime numbers less than 20: 2, 3, 5, 7, 11, 13, 17, and 19

이는 클래스 생성자에 대한 다음 호출과 Tuple<T1,T2,T3,T4,T5,T6,T7> 동일합니다.

var primes = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,  
             Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19));
let primes = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,  
               Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19))
Dim primes = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32, _ 
             Tuple(Of Int32))(2, 3, 5, 7, 11, 13, 17, New Tuple(Of Int32)(19))

그러나 정적 Tuple.Create 메서드는 8개 이상의 구성 요소가 있는 튜플 개체를 만드는 데 사용할 수 없습니다.

생성자를 사용하여 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 8개 이상의 구성 요소가 있는 n 튜플을 만드는 경우 매개 변수를 사용하여 rest 1~7개의 구성 요소가 있는 중첩된 n 튜플을 만듭니다. 연속적인 수준의 중첩을 사용하면 거의 무제한의 구성 요소가 있는 n 튜플을 만들 수 있습니다. 예를 들어 25 튜플을 만들려면 다음과 같이 세 가지 수준의 중첩으로 개체를 인스턴스화 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 합니다.

적용 대상

추가 정보