Tuple Class

定義

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

public static class Tuple
継承
Tuple

次の例では、8 組 (組) を含む 20 未満の素数を作成します。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 番目の要素では、その年の 2 番目の要素と個人の収入における年のユーザーの名前などの識別子を格納するために使用する (3 タプル、すなわちトリプルと呼ばれます) 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. さらに、8 個以上の要素のタプルを作成で組オブジェクトを入れ子にして、RestのプロパティをTuple<T1,T2,T3,T4,T5,T6,T7,TRest>オブジェクト。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:

  • 単一のデータ セットを表します。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.

  • 使用せず、メソッドから複数の値を返すoutパラメーター (c#) またはByRef(Visual Basic) でのパラメーター。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. 次の例では、クラス コンス トラクターを使用して、7 組を作成または 2000 1950年から各国勢調査のニューヨーク市の人口データを含む 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 つのコンポーネント (つまり、1 ~ 構成される組) にある組オブジェクトの作成をサポートします。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)

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

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)

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

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)

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

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

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

Create<T1,T2>(T1, T2)

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

Create<T1>(T1)

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

適用対象

こちらもご覧ください