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