C#のTuple<T1, T2>クラスとは?ペア(2つ組)の基本と使い方を実例で解説
Tuple<T1, T2>クラスとは
C#のTuple<T1, T2>クラスは、2つの要素を持つタプル(2-tuple、通称「ペア」)を表すクラスです。タプルとは、複数の要素を順序付けてひとまとめに扱えるデータ構造のことを指します。
Tuple<T1, T2>クラスは、主に以下のような場面で活用されます。
- データセットへの簡単なアクセス
- データセットの容易な操作
- 単一のデータセットとしての表現
- メソッドから複数の値を返したい場合
- メソッドへ複数の値を渡したい場合
主なプロパティ
Tuple<T1, T2>クラスには、格納された各要素にアクセスするための2つのプロパティが用意されています。
Item1 ― 現在のTuple<T1, T2>オブジェクトの1番目の要素の値を取得します。
Item2 ― 現在のTuple<T1, T2>オブジェクトの2番目の要素の値を取得します。
サンプルコード1:文字列型のペアを作成する
まずは、string型の値を2つ持つ2つ組(ペア)を実装する例を見てみましょう。
using System;
public class Demo {
public static void Main(string[] args) {
Tuple<string,string> tuple = new Tuple<string,string>("jack", "steve");
Console.WriteLine("Value = " + tuple.Item1);
if (tuple.Item1 == "jack") {
Console.WriteLine("Exists: Tuple Value = " +tuple.Item1);
}
if (tuple.Item2 == "david") {
Console.WriteLine("Exists: Tuple Value = " +tuple.Item2);
}
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
Value = jack Exists: Tuple Value = jack
この例では、Item1に"jack"、Item2に"steve"が格納されています。Item1の値が"jack"と一致したため条件分岐内の出力が表示されましたが、Item2は"david"ではないため、2つ目のif文の中身は実行されていません。
サンプルコード2:異なる型を組み合わせる
Tuple<T1, T2>は、異なる型同士を組み合わせることもできます。次の例では、int型とstring型を持つペアを作成しています。
using System;
public class Demo {
public static void Main(string[] args) {
Tuple<int,string> tuple = new Tuple<int,string>(20, "steve");
Console.WriteLine("Value = " + tuple.Item1);
if (tuple.Item1 == 20) {
Console.WriteLine("Exists: Tuple Value = " +tuple.Item1);
}
if (tuple.Item2 == "david") {
Console.WriteLine("Exists: Tuple Value = " +tuple.Item2);
}
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
Value = 20 Exists: Tuple Value = 20
このように、Tuple<T1, T2>を使えば、IDと名前のように関連性のある2つの値を、ひとつのオブジェクトとして簡潔に扱うことができます。
-
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