【C#】Tupleクラスの使い方を徹底解説
C#のTuple<T1, T2, T3, T4, T5, T6>クラスとは
Tuple<T1, T2, T3, T4, T5, T6> クラスは、6 つの要素を持つ「6 タプル」を表します。タプルとは、複数の要素を順序付けてひとまとめに格納できるデータ構造で、各要素にはそれぞれ異なる型を指定できます。
このクラスは、次のような場面で活用されます。
- データセットへのシンプルなアクセス
- データセットの容易な操作
- 単一のデータセットとしての表現
- メソッドから複数の値を返したい場合
- メソッドに複数の値を渡したい場合
主要な6つのプロパティ
Tuple<T1, T2, T3, T4, T5, T6> オブジェクトの各要素には、以下のプロパティを使ってアクセスできます。
- Item1 … 1 番目の要素(T1 型)の値を取得します。
- Item2 … 2 番目の要素(T2 型)の値を取得します。
- Item3 … 3 番目の要素(T3 型)の値を取得します。
- Item4 … 4 番目の要素(T4 型)の値を取得します。
- Item5 … 5 番目の要素(T5 型)の値を取得します。
- Item6 … 6 番目の要素(T6 型)の値を取得します。
それでは、C# で 6 タプルを実装する具体的な例を見ていきましょう。
例1:文字列と整数を混在させた6タプル
using System;
public class Demo {
public static void Main(string[] args) {
Tuple<string,int,string,int,int,string> tuple = new Tuple<string,int,string,int,int,string>("jack", 150, "pete", 300, 600, "allan");
Console.WriteLine("Item1 の値 = " + tuple.Item1);
Console.WriteLine("Item2 の値 = " + tuple.Item2);
Console.WriteLine("Item3 の値 = " + tuple.Item3);
Console.WriteLine("Item4 の値 = " + tuple.Item4);
Console.WriteLine("Item5 の値 = " + tuple.Item5);
Console.WriteLine("Item6 の値 = " + tuple.Item6);
if (tuple.Item1 == "kevin") {
Console.WriteLine("該当あり: Item1 = " + tuple.Item1);
}
if (tuple.Item2 == 250) {
Console.WriteLine("該当あり: Item2 = " + tuple.Item2);
}
if (tuple.Item3 == "pete") {
Console.WriteLine("該当あり: Item3 = " + tuple.Item3);
}
if (tuple.Item4 == 300) {
Console.WriteLine("該当あり: Item4 = " + tuple.Item4);
}
if (tuple.Item5 == 400) {
Console.WriteLine("該当あり: Item5 = " + tuple.Item5);
}
if (tuple.Item6 == "allan") {
Console.WriteLine("該当あり: Item6 = " + tuple.Item6);
}
}
}
出力結果
上記のコードを実行すると、次のような出力が得られます。
Item1 の値 = jack Item2 の値 = 150 Item3 の値 = pete Item4 の値 = 300 Item5 の値 = 600 Item6 の値 = allan 該当あり: Item3 = pete 該当あり: Item4 = 300 該当あり: Item6 = allan
続いて、すべての要素が int 型の 6 タプルの例を見てみましょう。
例2:すべてint型の6タプル
using System;
public class Demo {
public static void Main(string[] args) {
Tuple<int,int,int,int,int,int> tuple = new Tuple<int,int,int,int,int,int>(100, 150, 200, 300, 600, 1000);
Console.WriteLine("Item1 の値 = " + tuple.Item1);
Console.WriteLine("Item2 の値 = " + tuple.Item2);
Console.WriteLine("Item3 の値 = " + tuple.Item3);
Console.WriteLine("Item4 の値 = " + tuple.Item4);
Console.WriteLine("Item5 の値 = " + tuple.Item5);
Console.WriteLine("Item6 の値 = " + tuple.Item6);
if (tuple.Item1 == 100) {
Console.WriteLine("該当あり: Item1 = " + tuple.Item1);
}
if (tuple.Item2 == 250) {
Console.WriteLine("該当あり: Item2 = " + tuple.Item2);
}
if (tuple.Item3 == 300) {
Console.WriteLine("該当あり: Item3 = " + tuple.Item3);
}
if (tuple.Item4 == 300) {
Console.WriteLine("該当あり: Item4 = " + tuple.Item4);
}
if (tuple.Item5 == 400) {
Console.WriteLine("該当あり: Item5 = " + tuple.Item5);
}
if (tuple.Item6 == 500) {
Console.WriteLine("該当あり: Item6 = " + tuple.Item6);
}
}
}
出力結果
上記のコードを実行すると、次のような出力が得られます。
Item1 の値 = 100 Item2 の値 = 150 Item3 の値 = 200 Item4 の値 = 300 Item5 の値 = 600 Item6 の値 = 1000 該当あり: Item1 = 100 該当あり: Item4 = 300
このように Tuple<T1, T2, T3, T4, T5, T6> を使えば、異なる型を含めて最大 6 つの値をひとつのオブジェクトとして簡潔に扱えます。if 文による条件判定と組み合わせれば、特定の要素が存在するかどうかのチェックも簡単に行えるため、メソッド間での複数値の受け渡しにも便利なクラスです。
-
C#のConsoleクラスとは?主要プロパティの使い方を実例付きで解説
C#のConsoleクラスは、コンソールアプリケーションにおける標準入力・標準出力・標準エラー出力の各ストリームを表すクラスです。テキストの表示や入力の読み取りだけでなく、文字色や背景色の変更、カーソル位置やサイズの制御など、コンソール操作に関するさまざまな機能が提供されています。ここでは、Consoleクラスの代表的なプロパティの使い方を、サンプルコードと実行結果とあわせて解説します。Console.CursorLeftプロパティコンソール上のカーソル位置(左端から数えた列位置)を変更するには、Console.CursorLeftプロパティを使用します。サンプルコードusing System
-
C#のクラスとは?基本構文からサンプルコードまで徹底解説
C#におけるクラスとは、データ型の「設計図(ブループリント)」に相当するものです。クラスをもとに生成された実体をオブジェクトと呼び、オブジェクトはクラスのインスタンスであるといえます。また、クラスを構成するメソッドや変数は、まとめてクラスのメンバーと呼ばれます。クラスの一般的な定義形式C#でクラスを定義する際の一般的な書式は以下のとおりです。<アクセス修飾子> class クラス名 { // メンバー変数 <アクセス修飾子> <データ型> 変数1; &