Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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> 합니다.
가장 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 바깥쪽 개체에는 첫 번째부터 일곱 번째까지의 구성 요소가 포함됩니다. 해당 속성은 Rest 중첩의 첫 번째 수준에서 개체에 대한 액세스를 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 제공합니다.
가장 바깥쪽 중첩된 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 개체는 8번째부터 14번째까지의 구성 요소를 포함하며, 해당 Rest 속성은 두 번째 중첩 수준에서 개체에 대한 액세스를 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 제공합니다.
두 번째 중첩 수준의 개체에는 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 15번째에서 21번째까지의 구성 요소가 포함되며, 해당 Rest 속성은 세 번째 중첩 수준의 개체에 대한 액세스를 Tuple<T1,T2,T3,T4> 제공합니다.
가장 안쪽 튜플은 Tuple<T1,T2,T3,T4> 20초~25번째 구성 요소를 포함하는 개체입니다.