Tuple<T1,T2,T3,T4,T5,T6> クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
6 タプル (6 タプル) を表します。
generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
public class Tuple<T1,T2,T3,T4,T5,T6> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
public class Tuple<T1,T2,T3,T4,T5,T6> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
[System.Serializable]
public class Tuple<T1,T2,T3,T4,T5,T6> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
interface ITuple
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
interface ITuple
Public Class Tuple(Of T1, T2, T3, T4, T5, T6)
Implements IComparable, IStructuralComparable, IStructuralEquatable
Public Class Tuple(Of T1, T2, T3, T4, T5, T6)
Implements IComparable, IStructuralComparable, IStructuralEquatable, ITuple
型パラメーター
- T1
タプルの最初のコンポーネントの型。
- T2
タプルの 2 番目のコンポーネントの型。
- T3
タプルの 3 番目のコンポーネントの型。
- T4
タプルの 4 番目のコンポーネントの型。
- T5
タプルの 5 番目のコンポーネントの型。
- T6
タプルの 6 番目のコンポーネントの型。
- 継承
-
Tuple<T1,T2,T3,T4,T5,T6>
- 属性
- 実装
注釈
タプルは、特定の数と値のシーケンスを持つデータ構造です。 Tuple<T1,T2,T3,T4,T5,T6> クラスは、6 タプル (6 つのコンポーネントを含むタプル) を表します。
Tuple<T1,T2,T3,T4,T5,T6>メソッドまたは静的Tuple<T1,T2,T3,T4,T5,T6> メソッドを呼び出すことによって、Tuple.Create<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6) オブジェクトをインスタンス化できます。 タプルのコンポーネントの値は、読み取り専用の Item1、 Item2、 Item3、 Item4、 Item5、および Item6 のインスタンス プロパティを使用して取得できます。
タプルは、一般的に次の 4 つの方法で使用されます。
1 つのデータ セットを表す。 たとえば、タプルはデータベース レコードを表し、そのコンポーネントはレコードの個々のフィールドを表すことができます。
データ セットへの簡単なアクセスと操作を提供します。 次の例では、1960 年から 2000 年までの国勢調査ごとのニューヨーク市の人口データを含む Tuple<T1,T2,T3,T4,T5,T6> オブジェクトを定義します。 性別は、
ComputePopulationChangeメソッドに渡され、国勢調査間の年間変化率と、50 年間の年間変化率が計算されます。using System; public class Example { public static void Main() { // Get population data for New York City, 1960-2000. var population = Tuple.Create("New York", 7781984, 7894862, 7071639, 7322564, 8008278); var rate = ComputePopulationChange(population); // Display results. Console.WriteLine("Population Change, {0}, 1960-2000\n", population.Item1); Console.WriteLine("Year {0,10} {1,9}", "Population", "Annual Rate"); Console.WriteLine("1960 {0,10:N0} {1,11}", population.Item2, "NA"); Console.WriteLine("1970 {0,10:N0} {1,11:P2}", population.Item3, rate.Item2/10); Console.WriteLine("1980 {0,10:N0} {1,11:P2}", population.Item4, rate.Item3/10); Console.WriteLine("1990 {0,10:N0} {1,11:P2}", population.Item5, rate.Item4/10); Console.WriteLine("2000 {0,10:N0} {1,11:P2}", population.Item6, rate.Item5/10); Console.WriteLine("1960-2000 {0,10:N0} {1,11:P2}", "", rate.Item6/50); } private static Tuple<string, double, double, double, double, double> ComputePopulationChange( Tuple<string, 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.Item6 - data.Item2)/data.Item2 ); return rate; } } // The example displays the following output: // Population Change, New York, 1960-2000 // // Year Population Annual Rate // 1960 7,781,984 NA // 1970 7,894,862 0.15 % // 1980 7,071,639 -1.04 % // 1990 7,322,564 0.35 % // 2000 8,008,278 0.94 % // 1960-2000 0.06 %open System let computePopulationChange (data: Tuple<string, int, int, int, int, int>) = 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.Item6 - data.Item2) / data.Item2)) // Get population data for New York City, 1960-2000. let population = Tuple.Create("New York", 7781984, 7894862, 7071639, 7322564, 8008278) let rate = computePopulationChange population // Display results. printfn $"Population Change, {population.Item1}, 1960-2000\n" printfn $"""Year {"Population",10} {"Annual Rate",9}""" printfn $"""1960 {population.Item2,10:N0} {"NA",11}""" printfn $"1970 {population.Item3,10:N0} {rate.Item2 / 10.,11:P2}" printfn $"1980 {population.Item4,10:N0} {rate.Item3 / 10.,11:P2}" printfn $"1990 {population.Item5,10:N0} {rate.Item4 / 10.,11:P2}" printfn $"2000 {population.Item6,10:N0} {rate.Item5 / 10.,11:P2}" printfn $"""1960-2000 {"",10:N0} {rate.Item6 / 50.,11:P2}""" // The example displays the following output: // Population Change, New York, 1960-2000 // // Year Population Annual Rate // 1960 7,781,984 NA // 1970 7,894,862 0.15 % // 1980 7,071,639 -1.04 % // 1990 7,322,564 0.35 % // 2000 8,008,278 0.94 % // 1960-2000 0.06 %Module Example Public Sub Main() ' Get population data for New York City, 1960-2000. Dim population = Tuple.Create( "New York", 7781984, 7894862, 7071639, 7322564, 8008278) Dim rate = ComputePopulationChange(population) ' Display results. Console.WriteLine("Population Change, {0}, 1960-2000", population.Item1) Console.WriteLine() Console.WriteLine("Year {0,10} {1,9}", "Population", "Annual Rate") Console.WriteLine("1960 {0,10:N0} {1,11}", population.Item2, "NA") Console.WriteLine("1970 {0,10:N0} {1,11:P2}", population.Item3, rate.Item2/10) Console.WriteLine("1980 {0,10:N0} {1,11:P2}", population.Item4, rate.Item3/10) Console.WriteLine("1990 {0,10:N0} {1,11:P2}", population.Item5, rate.Item4/10) Console.WriteLine("2000 {0,10:N0} {1,11:P2}", population.Item6, rate.Item5/10) Console.WriteLine("1960-2000 {0,10:N0} {1,11:P2}", "", rate.Item6/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)) _ As Tuple(Of String, 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.Item6 - data.Item2)/data.Item2 ) Return rate End Function End Module ' The example displays the following output: ' Population Change, New York, 1960-2000 ' ' Year Population Annual Rate ' 1960 7,781,984 NA ' 1970 7,894,862 0.15 % ' 1980 7,071,639 -1.04 % ' 1990 7,322,564 0.35 % ' 2000 8,008,278 0.94 % ' 1960-2000 0.06 %outパラメーター (C#) またはByRefパラメーター (Visual Basic) を使用せずに、メソッドから複数の値を返す場合。 たとえば、前の例では、 Tuple<T1,T2,T3,T4,T5,T6> オブジェクトで、計算された統計情報と市区町村名が返されます。1 つのパラメーターを使用して複数の値をメソッドに渡す。 たとえば、 Thread.Start(Object) メソッドには、起動時にスレッドが実行するメソッドに 1 つの値を指定できる 1 つのパラメーターがあります。 メソッド引数として Tuple<T1,T2,T3,T4,T5,T6> オブジェクトを指定する場合は、スレッドのスタートアップ ルーチンに 6 つのデータ項目を指定できます。
コンストラクター
| 名前 | 説明 |
|---|---|
| Tuple<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6) |
Tuple<T1,T2,T3,T4,T5,T6> クラスの新しいインスタンスを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Item1 |
現在の Tuple<T1,T2,T3,T4,T5,T6> オブジェクトの最初のコンポーネントの値を取得します。 |
| Item2 |
現在の Tuple<T1,T2,T3,T4,T5,T6> オブジェクトの 2 番目のコンポーネントの値を取得します。 |
| Item3 |
現在の Tuple<T1,T2,T3,T4,T5,T6> オブジェクトの 3 番目のコンポーネントの値を取得します。 |
| Item4 |
現在の Tuple<T1,T2,T3,T4,T5,T6> オブジェクトの 4 番目のコンポーネントの値を取得します。 |
| Item5 |
現在の Tuple<T1,T2,T3,T4,T5,T6> オブジェクトの 5 番目のコンポーネントの値を取得します。 |
| Item6 |
現在の Tuple<T1,T2,T3,T4,T5,T6> オブジェクトの 6 番目のコンポーネントの値を取得します。 |
メソッド
| 名前 | 説明 |
|---|---|
| Equals(Object) |
現在の Tuple<T1,T2,T3,T4,T5,T6> オブジェクトが指定したオブジェクトと等しいかどうかを示す値を返します。 |
| GetHashCode() |
現在の Tuple<T1,T2,T3,T4,T5,T6> オブジェクトのハッシュ コードを返します。 |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| ToString() |
この Tuple<T1,T2,T3,T4,T5,T6> インスタンスの値を表す文字列を返します。 |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IComparable.CompareTo(Object) |
現在の Tuple<T1,T2,T3,T4,T5,T6> オブジェクトを指定したオブジェクトと比較し、現在のオブジェクトが並べ替え順序で指定したオブジェクトの前、後、または同じ位置にあるかどうかを示す整数を返します。 |
| IStructuralComparable.CompareTo(Object, IComparer) |
指定した比較子を使用して、現在の Tuple<T1,T2,T3,T4,T5,T6> オブジェクトを指定したオブジェクトと比較し、現在のオブジェクトが並べ替え順序で指定したオブジェクトの前、後、または同じ位置にあるかどうかを示す整数を返します。 |
| IStructuralEquatable.Equals(Object, IEqualityComparer) |
現在の Tuple<T1,T2,T3,T4,T5,T6> オブジェクトが、指定した比較メソッドに基づいて、指定したオブジェクトと等しいかどうかを示す値を返します。 |
| IStructuralEquatable.GetHashCode(IEqualityComparer) |
指定した計算方法を使用して、現在の Tuple<T1,T2,T3,T4,T5,T6> オブジェクトのハッシュ コードを計算します。 |
| ITuple.Item[Int32] |
指定した |
| ITuple.Length |
|
拡張メソッド
| 名前 | 説明 |
|---|---|
| Deconstruct<T1,T2,T3,T4,T5,T6>(Tuple<T1,T2,T3,T4,T5,T6>, T1, T2, T3, T4, T5, T6) |
6 つの要素を持つタプルを個別の変数に分解します。 |
| ToValueTuple<T1,T2,T3,T4,T5,T6>(Tuple<T1,T2,T3,T4,T5,T6>) |
|