Tuple<T1,T2,T3,T4,T5,T6,T7> 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
7개의 요소로 구성된 튜플 또는 7중을 나타냅니다.
generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
public class Tuple<T1,T2,T3,T4,T5,T6,T7> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
public class Tuple<T1,T2,T3,T4,T5,T6,T7> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
[System.Serializable]
public class Tuple<T1,T2,T3,T4,T5,T6,T7> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
interface ITuple
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
interface ITuple
Public Class Tuple(Of T1, T2, T3, T4, T5, T6, T7)
Implements IComparable, IStructuralComparable, IStructuralEquatable
Public Class Tuple(Of T1, T2, T3, T4, T5, T6, T7)
Implements IComparable, IStructuralComparable, IStructuralEquatable, ITuple
형식 매개 변수
- T1
튜플의 첫 번째 구성 요소 형식입니다.
- T2
튜플의 두 번째 구성 요소 형식입니다.
- T3
튜플의 세 번째 구성 요소 형식입니다.
- T4
튜플의 네 번째 구성 요소 형식입니다.
- T5
튜플의 다섯 번째 구성 요소 형식입니다.
- T6
튜플의 여섯 번째 구성 요소 형식입니다.
- T7
튜플의 일곱 번째 구성 요소 형식입니다.
- 상속
-
Tuple<T1,T2,T3,T4,T5,T6,T7>
- 특성
- 구현
설명
튜플은 값의 특정 수와 시퀀스를 갖는 데이터 구조입니다. 이 클래스는 Tuple<T1,T2,T3,T4,T5,T6,T7> 7개의 구성 요소가 있는 튜플인 7개의 튜플 또는 septuple을 나타냅니다.
개체 또는 정적 Tuple.Create<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7) 메서드를 Tuple<T1,T2,T3,T4,T5,T6,T7> 호출하여 개체를 Tuple<T1,T2,T3,T4,T5,T6,T7> 인스턴스화할 수 있습니다. 읽기 전용, , ,Item7Item4Item6Item3Item5, 인스턴스 속성을 사용하여 튜플 구성 요소의 값을 검색할 수 있습니다. Item2Item1
튜플은 일반적으로 네 가지 방법으로 사용됩니다.
단일 데이터 집합을 나타내려면 예를 들어 튜플은 데이터베이스 레코드를 나타낼 수 있으며 해당 구성 요소는 레코드의 개별 필드를 나타낼 수 있습니다.
데이터 집합에 쉽게 액세스하고 조작할 수 있도록 합니다. 다음 예제에서는 1950년부터 2000년까지의 각 인구 조사에 대한 뉴욕시의 인구 데이터를 포함하는 개체를 정의 Tuple<T1,T2,T3,T4,T5,T6,T7> 합니다. septuple은 인구 조사 간의 연간 변경률과 전체 60년 기간의 연간 변경률을 계산하는 메서드에 전달
ComputePopulationChange
됩니다.using System; public class Example { public static void Main() { // Get population data for New York City, 1950-2000. var population = Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278); var rate = ComputePopulationChange(population); // Display results. Console.WriteLine("Population Change, {0}, 1950-2000\n", population.Item1); Console.WriteLine("Year {0,10} {1,9}", "Population", "Annual Rate"); Console.WriteLine("1950 {0,10:N0} {1,11}", population.Item2, "NA"); Console.WriteLine("1960 {0,10:N0} {1,11:P2}", population.Item3, rate.Item2/10); Console.WriteLine("1970 {0,10:N0} {1,11:P2}", population.Item4, rate.Item3/10); Console.WriteLine("1980 {0,10:N0} {1,11:P2}", population.Item5, rate.Item4/10); Console.WriteLine("1990 {0,10:N0} {1,11:P2}", population.Item6, rate.Item5/10); Console.WriteLine("2000 {0,10:N0} {1,11:P2}", population.Item7, rate.Item6/10); Console.WriteLine("1950-2000 {0,10:N0} {1,11:P2}", "", rate.Item7/50); } private static Tuple<string, double, double, double, double, double, double> ComputePopulationChange( Tuple<string, int, int, int, int, int, int> data) { var rate = Tuple.Create(data.Item1, (double)(data.Item3 - data.Item2)/data.Item2, (double)(data.Item4 - data.Item3)/data.Item3, (double)(data.Item5 - data.Item4)/data.Item4, (double)(data.Item6 - data.Item5)/data.Item5, (double)(data.Item7 - data.Item6)/data.Item6, (double)(data.Item7 - data.Item2)/data.Item2 ); return rate; } } // The example displays the following output: // Population Change, New York, 1950-2000 // // Year Population Annual Rate // 1950 7,891,957 NA // 1960 7,781,984 -0.14 % // 1970 7,894,862 0.15 % // 1980 7,071,639 -1.04 % // 1990 7,322,564 0.35 % // 2000 8,008,278 0.94 % // 1950-2000 0.03 %
open System let computePopulationChange (data: Tuple<string, int, int, int, int, int, int>) = Tuple.Create(data.Item1, double (data.Item3 - data.Item2) / double data.Item2, double (data.Item4 - data.Item3) / double data.Item3, double (data.Item5 - data.Item4) / double data.Item4, double (data.Item6 - data.Item5) / double data.Item5, double (data.Item7 - data.Item6) / double data.Item6, double (data.Item7 - data.Item2) / double data.Item2) // Get population data for New York City, 1950-2000. let population = Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278) let rate = computePopulationChange population // Display results. printfn $"Population Change, {population.Item1}, 1950-2000\n" printfn $"""Year {"Population",10} {"Annual Rate",9}""" printfn $"""1950 {population.Item2,10:N0} {"NA",11}""" printfn $"1960 {population.Item3,10:N0} {rate.Item2 / 10.,11:P2}" printfn $"1970 {population.Item4,10:N0} {rate.Item3 / 10.,11:P2}" printfn $"1980 {population.Item5,10:N0} {rate.Item4 / 10.,11:P2}" printfn $"1990 {population.Item6,10:N0} {rate.Item5 / 10.,11:P2}" printfn $"2000 {population.Item7,10:N0} {rate.Item6 / 10.,11:P2}" printfn $"""1950-2000 {"",10:N0} {rate.Item7 / 50.,11:P2}""" // The example displays the following output: // Population Change, New York, 1950-2000 // // Year Population Annual Rate // 1950 7,891,957 NA // 1960 7,781,984 -0.14 % // 1970 7,894,862 0.15 % // 1980 7,071,639 -1.04 % // 1990 7,322,564 0.35 % // 2000 8,008,278 0.94 % // 1950-2000 0.03 %
Module Example Public Sub Main() ' Get population data for New York City, 1950-2000. Dim population = Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278) Dim rate = ComputePopulationChange(population) ' Display results. Console.WriteLine("Population Change, {0}, 1950-2000", population.Item1) Console.WriteLine() Console.WriteLine("Year {0,10} {1,9}", "Population", "Annual Rate") Console.WriteLine("1950 {0,10:N0} {1,11}", population.Item2, "NA") Console.WriteLine("1960 {0,10:N0} {1,11:P2}", population.Item3, rate.Item2/10) Console.WriteLine("1970 {0,10:N0} {1,11:P2}", population.Item4, rate.Item3/10) Console.WriteLine("1980 {0,10:N0} {1,11:P2}", population.Item5, rate.Item4/10) Console.WriteLine("1990 {0,10:N0} {1,11:P2}", population.Item6, rate.Item5/10) Console.WriteLine("2000 {0,10:N0} {1,11:P2}", population.Item7, rate.Item6/10) Console.WriteLine("1950-2000 {0,10:N0} {1,11:P2}", "", rate.Item7/50) End Sub ' Compute rate of population change by decade and overall. Private Function ComputePopulationChange(data As Tuple(Of String, Integer, Integer, Integer, Integer, Integer, Integer)) _ As Tuple(Of String, Double, Double, Double, Double, Double, Double) Dim rate = Tuple.Create( data.Item1, (data.Item3 - data.Item2)/data.Item2, (data.Item4 - data.Item3)/data.Item3, (data.Item5 - data.Item4)/data.Item4, (data.Item6 - data.Item5)/data.Item5, (data.Item7 - data.Item6)/data.Item6, (data.Item7 - data.Item2)/data.Item2 ) Return rate End Function End Module ' The example displays the following output: ' Population Change, New York, 1950-2000 ' ' Year Population Annual Rate ' 1950 7,891,957 NA ' 1960 7,781,984 -0.14 % ' 1970 7,894,862 0.15 % ' 1980 7,071,639 -1.04 % ' 1990 7,322,564 0.35 % ' 2000 8,008,278 0.94 % ' 1950-2000 0.03 %
매개 변수(C#) 또는
ByRef
매개 변수(Visual Basic)를 사용하지out
않고 메서드에서 여러 값을 반환합니다. 예를 들어 이전 예제에서는 개체에 도시 이름과 함께 계산된 통계를 Tuple<T1,T2,T3,T4,T5,T6,T7> 반환합니다.단일 매개 변수를 통해 메서드에 여러 값을 전달합니다. 예를 들어 메서드에는 Thread.Start(Object) 스레드가 시작할 때 실행되는 메서드에 하나의 값을 제공할 수 있는 단일 매개 변수가 있습니다. 메서드 인수로 개체를 Tuple<T1,T2,T3,T4,T5,T6,T7> 제공하는 경우 스레드의 시작 루틴에 7개의 데이터 항목을 제공할 수 있습니다.
생성자
Tuple<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7) |
Tuple<T1,T2,T3,T4,T5,T6,T7> 클래스의 새 인스턴스를 초기화합니다. |
속성
Item1 |
현재 Tuple<T1,T2,T3,T4,T5,T6,T7> 개체의 첫 번째 구성 요소 값을 가져옵니다. |
Item2 |
현재 Tuple<T1,T2,T3,T4,T5,T6,T7> 개체의 두 번째 구성 요소 값을 가져옵니다. |
Item3 |
현재 Tuple<T1,T2,T3,T4,T5,T6,T7> 개체의 세 번째 구성 요소 값을 가져옵니다. |
Item4 |
현재 Tuple<T1,T2,T3,T4,T5,T6,T7> 개체의 네 번째 구성 요소 값을 가져옵니다. |
Item5 |
현재 Tuple<T1,T2,T3,T4,T5,T6,T7> 개체의 다섯 번째 구성 요소 값을 가져옵니다. |
Item6 |
현재 Tuple<T1,T2,T3,T4,T5,T6,T7> 개체의 여섯 번째 구성 요소 값을 가져옵니다. |
Item7 |
현재 Tuple<T1,T2,T3,T4,T5,T6,T7> 개체의 일곱 번째 구성 요소 값을 가져옵니다. |
메서드
Equals(Object) |
현재 Tuple<T1,T2,T3,T4,T5,T6,T7> 개체가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. |
GetHashCode() |
현재 Tuple<T1,T2,T3,T4,T5,T6,T7> 개체에 대한 해시 코드를 반환합니다. |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
이 Tuple<T1,T2,T3,T4,T5,T6,T7> 인스턴스의 값을 나타내는 문자열을 반환합니다. |
명시적 인터페이스 구현
IComparable.CompareTo(Object) |
현재 Tuple<T1,T2,T3,T4,T5,T6,T7> 개체를 지정된 개체와 비교하고 현재 개체가 정렬 순서에 지정된 개체보다 이전인지, 이후인지 또는 같은 위치인지를 나타내는 정수를 반환합니다. |
IStructuralComparable.CompareTo(Object, IComparer) |
지정된 비교자를 사용하여 현재 Tuple<T1,T2,T3,T4,T5,T6,T7> 개체와 지정된 개체를 비교하고 정렬 순서에서 현재 개체의 위치가 지정된 개체보다 앞인지, 뒤인지 또는 동일한지를 나타내는 정수를 반환합니다. |
IStructuralEquatable.Equals(Object, IEqualityComparer) |
지정된 비교 메서드를 기반으로 현재 Tuple<T1,T2,T3,T4,T5,T6,T7> 개체가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. |
IStructuralEquatable.GetHashCode(IEqualityComparer) |
지정된 계산 메서드를 사용하여 현재 Tuple<T1,T2,T3,T4,T5,T6,T7> 개체에 대한 해시 코드를 계산합니다. |
ITuple.Item[Int32] |
지정한 |
ITuple.Length |
|
확장 메서드
Deconstruct<T1,T2,T3,T4,T5,T6,T7>(Tuple<T1,T2,T3,T4,T5,T6,T7>, T1, T2, T3, T4, T5, T6, T7) |
7개 요소가 포함된 튜플을 개별 변수로 분해합니다. |
ToValueTuple<T1,T2,T3,T4,T5,T6,T7>(Tuple<T1,T2,T3,T4,T5,T6,T7>) |
|