Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
n 組 (n は 8 以上) を表します。
generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename TRest>
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, typename TRest>
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,TRest> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
public class Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
[System.Serializable]
public class Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
interface ITuple
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
interface ITuple
Public Class Tuple(Of T1, T2, T3, T4, T5, T6, T7, TRest)
Implements IComparable, IStructuralComparable, IStructuralEquatable
Public Class Tuple(Of T1, T2, T3, T4, T5, T6, T7, TRest)
Implements IComparable, IStructuralComparable, IStructuralEquatable, ITuple
型パラメーター
- T1
組の 1 番目のコンポーネントの型。
- T2
組の 2 番目のコンポーネントの型。
- T3
組の 3 番目のコンポーネントの型。
- T4
組の 4 番目のコンポーネントの型。
- T5
組の 5 番目のコンポーネントの型。
- T6
組の 6 番目のコンポーネントの型。
- T7
組の 7 番目のコンポーネントの型。
- TRest
組の残りのコンポーネントの型を定義する汎用 Tuple
オブジェクト。
- 継承
-
Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>
- 属性
- 実装
注釈
タプルは、特定の数と値のシーケンスを持つデータ構造です。 クラスは Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 、8 つ以上のコンポーネントを持つ n タプルを表します。
静的Tuple.Createメソッドを呼び出すことで、Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>8 つのコンポーネントを持つオブジェクトをインスタンス化できます。 次の例では、20 未満の素数を含む 8 タプル (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
コンストラクターを呼び出すことで、8 つ以上のコンポーネントを含む n タプル オブジェクトを Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> インスタンス化することもできます。 次の例では、 コンストラクターを Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 使用して、前の例で作成したタプルと同等の 8 タプルを作成します。
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))
注意
9 つ以上のコンポーネントを含む n タプルを作成するには、 コンストラクターを呼び出す Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 必要があります。 クラスの Tuple 静的ファクトリ メソッドでは、8 つを超えるコンポーネントを含むオブジェクトの Tuple
作成はサポートされていません。
コンストラクターを使用して 8 つ以上のコンポーネントを持つ Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> n タプルをインスタンス化するには、タプルの 8 番目から n番目のコンポーネントを定義するパラメーターとしてrest
ジェネリック Tuple
オブジェクトを指定します。 このようにジェネリック Tuple
オブジェクトを入れ子にすると、そのコンポーネントの数に実質的な制限がないタプルを作成できます。
次の例では、1860 年から 2000 年までの国勢調査ごとに、ミシガン州デトロイト市の人口データを含む 17 タプルを作成します。 タプルの最初のコンポーネントは都市名です。 2 番目のコンポーネントはデータ系列の開始日であり、3 番目のコンポーネントは開始日の母集団です。 後続の各コンポーネントは、10 年間隔で母集団を提供します。 17 タプルは、 オブジェクト内Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>に オブジェクトをTuple<T1,T2,T3>入れ子にすることによって作成されます。 (つまり、Tuple<T1,T2,T3>オブジェクトはクラス コンストラクターの 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>のオブジェクトに入れ子になります。 (つまり、Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>オブジェクトは外部Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>オブジェクトのクラス コンストラクターの パラメーターのrest
値として指定されます)。
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)
タプルの最初の 7 つのコンポーネントの値を取得するには、読み取り専用Item1の 、Item2Item3Item5Item4、Item6、、および の各インスタンス プロパティをItem7使用します。 追加のコンポーネントは入れ子になり、 プロパティから Rest 取得できます。 前の例では、through Item7 プロパティはItem1タプルの最初から 7 番目のコンポーネントを取得します。 8 番目から 14 番目のコンポーネントは、2 番目のレベルで入れ子になっているタプルに含まれており、through Rest.Item7
プロパティによってRest.Item1
表されます。 15 番目から 17 番目のコンポーネントは、3 番目のレベルで入れ子になっているタプルに含まれており、 は though Rest.Rest.Item3
プロパティでRest.Rest.Item1
表されます。
タプルは、一般的に次の 4 つの異なる方法で使用されます。
1 つのデータ セットを表す。 たとえば、タプルはデータベース レコードを表し、そのコンポーネントはレコードの個々のフィールドを表すことができます。
データ セットへの簡単なアクセスと操作を提供します。
パラメーター (C#の場合) または
ByRef
パラメーター (Visual Basic の場合) を使用out
せずにメソッドから複数の値を返す場合。 たとえば、前の例では、計算された統計と都市名を オブジェクトで Tuple<T1,T2,T3,T4,T5,T6,T7> 返します。1 つのパラメーターを使用してメソッドに複数の値を渡すには。 たとえば、 Thread.Start(Object) メソッドには、起動時にスレッドが実行するメソッドに 1 つの値を指定できる 1 つのパラメーターがあります。 メソッド引数として オブジェクトを Tuple<T1,T2,T3,T4,T5,T6,T7> 指定する場合は、スレッドのスタートアップ ルーチンに 7 つのデータ項目を指定できます。
コンストラクター
Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>(T1, T2, T3, T4, T5, T6, T7, TRest) |
Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> クラスの新しいインスタンスを初期化します。 |
プロパティ
Item1 |
現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトの 1 番目のコンポーネントの値を取得します。 |
Item2 |
現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトの 2 番目のコンポーネントの値を取得します。 |
Item3 |
現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトの 3 番目のコンポーネントの値を取得します。 |
Item4 |
現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトの 4 番目のコンポーネントの値を取得します。 |
Item5 |
現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトの 5 番目のコンポーネントの値を取得します。 |
Item6 |
現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトの 6 番目のコンポーネントの値を取得します。 |
Item7 |
現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトの 7 番目のコンポーネントの値を取得します。 |
Rest |
現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトの残りのコンポーネントを取得します。 |
メソッド
Equals(Object) |
現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトが、指定されたオブジェクトと等しいかどうかを示す値を返します。 |
GetHashCode() |
現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトのハッシュ コードを計算します。 |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
この Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> インスタンスの値を表す文字列を返します。 |
明示的なインターフェイスの実装
IComparable.CompareTo(Object) |
現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトと指定したオブジェクトを比較して、現在のオブジェクトが、並べ替え順序において、指定したオブジェクトの前後または同じ位置のいずれにあるかを示す整数を返します。 |
IStructuralComparable.CompareTo(Object, IComparer) |
指定された比較子を使用して現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトと指定されたオブジェクトを比較し、並べ替え順序において、現在のオブジェクトの位置が指定されたオブジェクトの前になるか、後ろになるか、同じになるかを示す整数を返します。 |
IStructuralEquatable.Equals(Object, IEqualityComparer) |
指定された比較メソッドに基づいて、現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトが指定したオブジェクトと等しいかどうかを示す値を返します。 |
IStructuralEquatable.GetHashCode(IEqualityComparer) |
指定した計算メソッドを使用して、現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトのハッシュ コードを計算します。 |
ITuple.Item[Int32] |
指定した |
ITuple.Length |
|