Tuple Tuple Tuple Tuple Class

定義

組オブジェクトを作成するための静的メソッドを提供します。Provides static methods for creating tuple objects.

public ref class Tuple abstract sealed
public static class Tuple
type Tuple = class
Public Class Tuple
継承
TupleTupleTupleTuple

次の例では、20未満の素数を含む8タプル (octuple) を作成します。The following example creates an 8-tuple (octuple) that contains prime numbers that are less than 20.

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
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

注釈

組は、特定の数と要素のシーケンスを持つデータ構造体です。A tuple is a data structure that has a specific number and sequence of elements. 組の例としては、3つの要素 (3 タプルまたは三重) を含むデータ構造があります。これは、最初の要素に人名、2番目の要素に1年、3番目の要素でその年のユーザーの収入などの識別子を格納するために使用されます。An example of a tuple is a data structure with three elements (known as a 3-tuple or triple) that is used to store an identifier such as a person's name in the first element, a year in the second element, and the person's income for that year in the third element. .NET Framework は、1 ~ 7 個の要素を持つタプルを直接サポートします。The .NET Framework directly supports tuples with one to seven elements. また、 Rest Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>オブジェクトのプロパティにタプルオブジェクトを入れ子にすることで、8つ以上の要素の組を作成できます。In addition, you can create tuples of eight or more elements by nesting tuple objects in the Rest property of a Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object.

タプルは、主に次の4つの方法で使用されます。Tuples are commonly used in four ways:

  • データの1つのセットを表す場合は。To represent a single set of data. たとえば、組はデータベースレコードを表すことができ、そのコンポーネントはレコードの個々のフィールドを表すことができます。For example, a tuple can represent a database record, and its components can represent individual fields of the record.

  • データセットに簡単にアクセスして操作できるようにするため。To provide easy access to, and manipulation of, a data set.

  • パラメーター (でC#は) またはパラメーター ( out Visual Basic) を使用せByRefずに、メソッドから複数の値を返す場合は。To return multiple values from a method without using out parameters (in C#) or ByRef parameters (in Visual Basic).

  • 1つのパラメーターを使用して複数の値をメソッドに渡す場合は。To pass multiple values to a method through a single parameter. たとえば、 Thread.Start(Object)メソッドには、起動時にスレッドが実行するメソッドに1つの値を指定できる1つのパラメーターがあります。For example, the Thread.Start(Object) method has a single parameter that lets you supply one value to the method that the thread executes at startup time. メソッドの引数とTuple<T1,T2,T3>してオブジェクトを指定する場合は、スレッドのスタートアップルーチンに3つのデータ項目を指定できます。If you supply a Tuple<T1,T2,T3> object as the method argument, you can supply the thread's startup routine with three items of data.

クラスTupleは、それ自体はタプルを表していません。The Tuple class does not itself represent a tuple. 代わりに、.NET Framework によってサポートされるタプル型のインスタンスを作成するための静的メソッドを提供するクラスです。Instead, it is a class that provides static methods for creating instances of the tuple types that are supported by the .NET Framework. これには、各タプルコンポーネントの型を明示的に指定しなくても、タプルオブジェクトをインスタンス化するために呼び出すことができるヘルパーメソッドが用意されています。It provides helper methods that you can call to instantiate tuple objects without having to explicitly specify the type of each tuple component.

クラスコンストラクターを呼び出すことによってタプルクラスのインスタンスを作成することもできますが、そのためのコードは煩雑になることがあります。Although you can create an instance of a tuple class by calling its class constructor, the code to do so can be cumbersome. 次の例では、クラスコンストラクターを使用して、1950 ~ 2000 の各国勢調査のニューヨーク市の人口データを格納する7組またはセプタプルを作成します。The following example uses a class constructor to create a 7-tuple or septuple that contains population data for New York City for each census from 1950 through 2000.

// Create a 7-tuple.
var population = new Tuple<string, int, int, int, int, int, int>(
                           "New York", 7891957, 7781984, 
                           7894862, 7071639, 7322564, 8008278);
// Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
                  population.Item1, population.Item7);
// The example displays the following output:
//       Population of New York in 2000: 8,008,278
' Create a 7-tuple.
Dim population As New Tuple(Of String, Integer, Integer, Integer, Integer, Integer, Integer) _
                           ("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
' Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
                  population.Item1, population.Item7)
' The example displays the following output:
'        Population of New York in 2000: 8,008,278

次の例に示すように、ヘルパーメソッドを使用して同じ組オブジェクトを作成する方が簡単です。Creating the same tuple object by using a helper method is more straightforward, as the following example shows.

// Create a 7-tuple.
var population = Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278);
// Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
                  population.Item1, population.Item7);
// The example displays the following output:
//       Population of New York in 2000: 8,008,278
' Create a 7-tuple.
Dim population = Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
' Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
                  population.Item1, population.Item7)
' The example displays the following output:
'        Population of New York in 2000: 8,008,278

ヘルパー Createメソッドは、1 ~ 8 個のコンポーネント (つまり、シングルトンを通じて) を持つ組オブジェクトの作成を直接サポートします。The Create helper methods directly support the creation of tuple objects that have from one to eight components (that is, singletons through octuples). タプルに含まれるコンポーネントの数には実際の制限はありませんが、9個以上のコンポーネントを持つタプルを作成するためのヘルパーメソッドは使用できません。Although there is no practical limit to the number of components a tuple may have, helper methods are not available to create a tuple with nine or more components. このようなタプルを作成するには、 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>コンストラクターを呼び出す必要があります。To create such a tuple, you must call the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor.

注意

タプルを使用する詳細と例については、.NET Framework の個々の組の種類に関するドキュメントを参照してください。For additional information and examples that use tuples, see the documentation for the individual tuple types in the .NET Framework. これらの一覧については、このトピックの最後にある「関連項目」セクションを参照してください。These are listed in the See Also section at the end of this topic.

メソッド

Create<T1,T2,T3,T4,T5,T6,T7,T8>(T1, T2, T3, T4, T5, T6, T7, T8) Create<T1,T2,T3,T4,T5,T6,T7,T8>(T1, T2, T3, T4, T5, T6, T7, T8) Create<T1,T2,T3,T4,T5,T6,T7,T8>(T1, T2, T3, T4, T5, T6, T7, T8) Create<T1,T2,T3,T4,T5,T6,T7,T8>(T1, T2, T3, T4, T5, T6, T7, T8)

新しい 8 組 (8 つの要素で構成される組) を作成します。Creates a new 8-tuple, or octuple.

Create<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7) Create<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7) Create<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7) Create<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7)

新しい 7 組 (7 つの要素で構成される組) を作成します。Creates a new 7-tuple, or septuple.

Create<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6) Create<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6) Create<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6) Create<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6)

新しい 6 組 (6 つの要素で構成される組) 作成します。Creates a new 6-tuple, or sextuple.

Create<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5) Create<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5) Create<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5) Create<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5)

新しい 5 組 (5 つの要素で構成される組) を作成します。Creates a new 5-tuple, or quintuple.

Create<T1,T2,T3,T4>(T1, T2, T3, T4) Create<T1,T2,T3,T4>(T1, T2, T3, T4) Create<T1,T2,T3,T4>(T1, T2, T3, T4) Create<T1,T2,T3,T4>(T1, T2, T3, T4)

新しい 4 組 (4 つの要素で構成される組) を作成します。Creates a new 4-tuple, or quadruple.

Create<T1,T2,T3>(T1, T2, T3) Create<T1,T2,T3>(T1, T2, T3) Create<T1,T2,T3>(T1, T2, T3) Create<T1,T2,T3>(T1, T2, T3)

新しい 3 組 (3 つの要素で構成される組) を作成します。Creates a new 3-tuple, or triple.

Create<T1,T2>(T1, T2) Create<T1,T2>(T1, T2) Create<T1,T2>(T1, T2) Create<T1,T2>(T1, T2)

新しい 2 組 (2 つの要素で構成される組) を作成します。Creates a new 2-tuple, or pair.

Create<T1>(T1) Create<T1>(T1) Create<T1>(T1) Create<T1>(T1)

新しい 1 組 (1 つの要素で構成される組) を作成します。Creates a new 1-tuple, or singleton.

適用対象

こちらもご覧ください