C#のTupleクラスとは?3つ組(トリプル)の基本と使い方
Tuple<T1, T2, T3>クラスとは
C#のTuple<T1, T2, T3>クラスは、3つの要素を持つタプル(3-tuple、トリプルとも呼ばれます)を表すクラスです。タプルとは、複数の要素を順序付けて格納できるデータ構造であり、異なる型の値をひとまとめにして扱うことができます。
Tuple<T1, T2, T3>の主な用途
- データセットへの簡単なアクセス
- データセットの容易な操作
- 単一のデータセットとしての表現
- メソッドから複数の値を返したい場合
- メソッドに複数の値を渡したい場合
主なプロパティ
Tuple<T1, T2, T3>クラスには、各要素に対応する以下の3つのプロパティが用意されています。
- Item1 ― 現在のTuple<T1, T2, T3>オブジェクトの1番目の要素の値を取得します。
- Item2 ― 現在のTuple<T1, T2, T3>オブジェクトの2番目の要素の値を取得します。
- Item3 ― 現在のTuple<T1, T2, T3>オブジェクトの3番目の要素の値を取得します。
例1:int型とstring型を組み合わせた3-tuple
それでは、C#で3-tupleを実装する具体的な例を見てみましょう。
using System;
public class Demo {
public static void Main(string[] args) {
Tuple<int,string,string> tuple = new Tuple<int,string,string>(35, "steve", "katie");
Console.WriteLine("Value (Item1)= " + tuple.Item1);
Console.WriteLine("Value (Item2)= " + tuple.Item2);
Console.WriteLine("Value (Item3)= " + tuple.Item3);
if (tuple.Item1 == 35) {
Console.WriteLine("Exists: Tuple Value = " +tuple.Item1);
}
if (tuple.Item2 == "jack") {
Console.WriteLine("Exists: Tuple Value = " +tuple.Item2);
}
if (tuple.Item3 == "katie") {
Console.WriteLine("Exists: Tuple Value = " +tuple.Item3);
}
}
}出力結果
このプログラムを実行すると、次のような出力が得られます。
Value (Item1)= 35 Value (Item2)= steve Value (Item3)= katie Exists: Tuple Value = 35 Exists: Tuple Value = katie
この例では、Item1が「35」、Item3が「katie」と一致したため、その値が出力されています。一方、Item2は「steve」であるため「jack」との比較条件は成立せず、出力されていません。
例2:すべてstring型の3-tuple
続いて、3つの要素すべてがstring型の3-tupleを使用する例を見てみましょう。
using System;
public class Demo {
public static void Main(string[] args) {
Tuple<string,string,string> tuple = new Tuple<string,string,string>("nathan", "steve", "katie");
Console.WriteLine("Value (Item1)= " + tuple.Item1);
Console.WriteLine("Value (Item2)= " + tuple.Item2);
Console.WriteLine("Value (Item3)= " + tuple.Item3);
if (tuple.Item1 == "nathan") {
Console.WriteLine("Exists: Tuple Value = " +tuple.Item1);
}
if (tuple.Item2 == "jack") {
Console.WriteLine("Exists: Tuple Value = " +tuple.Item2);
}
if (tuple.Item3 == "katie") {
Console.WriteLine("Exists: Tuple Value = " +tuple.Item3);
}
}
}出力結果
このプログラムを実行すると、次のような出力が得られます。
Value (Item1)= nathan Value (Item2)= steve Value (Item3)= katie Exists: Tuple Value = nathan Exists: Tuple Value = katie
このように、Tuple<T1, T2, T3>クラスを使えば、異なる型・同じ型を問わず3つの値を簡潔にまとめて管理でき、条件判定なども各プロパティ経由で直感的に行えます。
-
C#のConvertクラスを使ったデータ型変換の基本と実例
C#のConvertクラスには、基本データ型を別の基本データ型へ変換するためのメソッドが多数用意されています。この記事では、代表的な変換メソッドであるConvert.ToBoolean()、Convert.ToDouble()、Convert.ToDecimal()の使い方を、構文・サンプルコード・実行結果とあわせてわかりやすく解説します。 Convert.ToBoolean()メソッドとは Convert.ToBoolean()メソッドは、指定した値を等価なBoolean(真偽値)に変換します。文字列「true」や「false」をbool型に変換したい場合などに利用されます。 構文 pu
-
C#のConsoleクラスとは?主要プロパティの使い方を実例付きで解説
C#のConsoleクラスは、コンソールアプリケーションにおける標準入力・標準出力・標準エラー出力の各ストリームを表すクラスです。テキストの表示や入力の読み取りだけでなく、文字色や背景色の変更、カーソル位置やサイズの制御など、コンソール操作に関するさまざまな機能が提供されています。ここでは、Consoleクラスの代表的なプロパティの使い方を、サンプルコードと実行結果とあわせて解説します。Console.CursorLeftプロパティコンソール上のカーソル位置(左端から数えた列位置)を変更するには、Console.CursorLeftプロパティを使用します。サンプルコードusing System