C#のTupleクラスとは?シングルトンの基本と使い方を解説
C#のTuple<T1>クラスは、要素を1つだけ持つ「1つ組(1-tuple)」、いわゆるシングルトンを表すクラスです。タプルとは、複数の要素をひとまとまりのシーケンスとして扱える便利なデータ構造です。
Tuple<T1>クラスの主な用途
- データセットへの簡単で効率的なアクセス
- データセットの柔軟な操作
- 単一のデータセットを表現したい場合
- メソッドから値を返す際の活用
- メソッドへ値を渡す際の引数としての利用
Tuple<T1>クラスのプロパティ
Tuple<T1>クラスには、以下のプロパティが用意されています。
- Item1:現在のTuple<T1>オブジェクトが保持する最初(唯一)のコンポーネントの値を取得します。
サンプルコード1:整数型のタプル
それでは、C#で1つ組のタプルを実装する基本的な例を見てみましょう。
using System;
public class Demo {
public static void Main(string[] args) {
Tuple<int> tuple = new Tuple<int>(100);
Console.WriteLine("Value = " + tuple.Item1);
if (tuple.Item1 == 150) {
Console.WriteLine(tuple.Item1);
}
if (tuple.Item1 == 100) {
Console.WriteLine(tuple.Item1);
}
}
}
出力結果
上記のコードを実行すると、次のような出力が得られます。条件式tuple.Item1 == 100が真となるため、値が出力されているのがわかります。
Value = 100 100
サンプルコード2:文字列型のタプル
続いて、文字列を格納したタプルの例です。Item1プロパティの値と比較して、条件に応じた処理を行っています。
using System;
public class Demo {
public static void Main(string[] args) {
Tuple<string> tuple = new Tuple<string>("amit");
Console.WriteLine("Value = " + tuple.Item1);
if (tuple.Item1 == "tom") {
Console.WriteLine(tuple.Item1);
}
if (tuple.Item1 == "amit") {
Console.WriteLine("Exists: Tuple Value = " + tuple.Item1);
}
}
}
出力結果
この例では、「tom」という値とは一致しないため何も出力されず、「amit」と一致した場合のみメッセージが表示されます。
Value = amit Exists: Tuple Value = amit
まとめ
Tuple<T1>クラスを使うことで、単一の値を簡潔にオブジェクトとして扱うことができます。コンストラクタのほか、Tuple.Create(100)のようにヘルパーメソッドを使って生成することも可能です。なお、C# 7.0以降ではより軽量で使いやすいValueTuple(値タプル)も利用できるため、用途に応じて使い分けるとよいでしょう。
-
C#のConsoleクラスとは?主要プロパティの使い方を実例付きで解説
C#のConsoleクラスは、コンソールアプリケーションにおける標準入力・標準出力・標準エラー出力の各ストリームを表すクラスです。テキストの表示や入力の読み取りだけでなく、文字色や背景色の変更、カーソル位置やサイズの制御など、コンソール操作に関するさまざまな機能が提供されています。ここでは、Consoleクラスの代表的なプロパティの使い方を、サンプルコードと実行結果とあわせて解説します。Console.CursorLeftプロパティコンソール上のカーソル位置(左端から数えた列位置)を変更するには、Console.CursorLeftプロパティを使用します。サンプルコードusing System
-
C#のクラスとは?基本構文からサンプルコードまで徹底解説
C#におけるクラスとは、データ型の「設計図(ブループリント)」に相当するものです。クラスをもとに生成された実体をオブジェクトと呼び、オブジェクトはクラスのインスタンスであるといえます。また、クラスを構成するメソッドや変数は、まとめてクラスのメンバーと呼ばれます。クラスの一般的な定義形式C#でクラスを定義する際の一般的な書式は以下のとおりです。<アクセス修飾子> class クラス名 { // メンバー変数 <アクセス修飾子> <データ型> 変数1; &