C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のTuple<T1,T2,T3,T4,T5,T6,T7>クラスとは?7つ組(セプテット)の使い方を解説


Tuple<T1, T2, T3, T4, T5, T6, T7>クラスは、7つの要素を持つタプル(7-tuple)を表すクラスで、「セプテット(septet)」とも呼ばれます。タプルとは、複数の要素をひとまとまりのシーケンスとして順序付けて格納できるデータ構造です。

タプルの主な用途

  • データセットへの簡単なアクセス
  • データセットの効率的な操作
  • 単一のデータセットとしての表現
  • メソッドから複数の値を返したい場合
  • メソッドに複数の値を渡したい場合

7つのプロパティ

Tuple<T1, T2, T3, T4, T5, T6, T7>クラスには、各要素に対応する以下の7つの読み取り専用プロパティが用意されています。

  • Item1:現在のTuple<T1, T2, T3, T4, T5, T6, T7>オブジェクトの1番目の要素の値を取得します。

  • Item2:現在のTuple<T1, T2, T3, T4, T5, T6, T7>オブジェクトの2番目の要素の値を取得します。

  • Item3:現在のTuple<T1, T2, T3, T4, T5, T6, T7>オブジェクトの3番目の要素の値を取得します。

  • Item4:現在のTuple<T1, T2, T3, T4, T5, T6, T7>オブジェクトの4番目の要素の値を取得します。

  • Item5:現在のTuple<T1, T2, T3, T4, T5, T6, T7>オブジェクトの5番目の要素の値を取得します。

  • Item6:現在のTuple<T1, T2, T3, T4, T5, T6, T7>オブジェクトの6番目の要素の値を取得します。

  • Item7:現在のTuple<T1, T2, T3, T4, T5, T6, T7>オブジェクトの7番目の要素の値を取得します。

それでは、C#で7つ組タプルを実装する具体的な例を見ていきましょう。

例1:7つ組タプルの作成と値の取得

using System;
public class Demo {
    public static void Main(string[] args) {
        Tuple<int,int,int,int,int,int,int> tuple = new Tuple<int,int,int,int,int,int,int>(100, 150, 200, 300, 600, 1000, 2000);
        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);
        Console.WriteLine("Value (Item6)= " + tuple.Item6);
        Console.WriteLine("Value (Item7)= " + tuple.Item7);
        if (tuple.Item5 == 600) {
            Console.WriteLine("Exists: Tuple Item 5 = " +tuple.Item5);
        }
        if (tuple.Item6 == 900) {
            Console.WriteLine("Exists: Tuple Item 6 = " +tuple.Item6);
        }
        if (tuple.Item7 == 2000) {
            Console.WriteLine("Exists: Tuple Item 7 = " +tuple.Item7);
        }
    }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Value (Item1)= 100
Value (Item2)= 150
Value (Item3)= 200
Value (Item4)= 300
Value (Item5)= 600
Value (Item6)= 1000
Value (Item7)= 2000
Exists: Tuple Item 5 = 600
Exists: Tuple Item 7 = 2000

この例では、Item5が600であること、およびItem7が2000であることが条件に一致したため、それぞれのメッセージが出力されています。一方、Item6は900ではないため該当する出力はありません。

続いて、要素同士の値を比較する例を見てみましょう。

例2:タプルの要素同士を比較する

using System;
public class Demo {
    public static void Main(string[] args) {
        Tuple<int,int,int,int,int,int,int> tuple = new Tuple<int,int,int,int,int,int,int>(100, 150, 200, 300, 600, 1000, 1000);
        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);
        Console.WriteLine("Value (Item6)= " + tuple.Item6);
        Console.WriteLine("Value (Item7)= " + tuple.Item7);
        if (tuple.Item5 == 600) {
            Console.WriteLine("Exists: Tuple Item 5 = " +tuple.Item5);
        }
        if (tuple.Item6 == 900) {
            Console.WriteLine("Exists: Tuple Item 6 = " +tuple.Item6);
        }
        if (tuple.Item7 == 2000) {
            Console.WriteLine("Exists: Tuple Item 7 = " +tuple.Item7);
        }
        if (tuple.Item7 == tuple.Item6){
            Console.WriteLine("Tuple Items Matched!");
        }
    }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Value (Item1)= 100
Value (Item2)= 150
Value (Item3)= 200
Value (Item4)= 300
Value (Item5)= 600
Value (Item6)= 1000
Value (Item7)= 1000
Exists: Tuple Item 5 = 600
Tuple Items Matched!

この例では、Item6とItem7がどちらも1000という同じ値を持っているため、「Tuple Items Matched!」というメッセージが出力されます。このように、タプルの各要素にはItem1〜Item7のプロパティを使って簡単にアクセスでき、条件判定や値の比較にも活用できます。

  1. C#のConsoleクラスとは?主要プロパティの使い方を実例付きで解説

    C#のConsoleクラスは、コンソールアプリケーションにおける標準入力・標準出力・標準エラー出力の各ストリームを表すクラスです。テキストの表示や入力の読み取りだけでなく、文字色や背景色の変更、カーソル位置やサイズの制御など、コンソール操作に関するさまざまな機能が提供されています。ここでは、Consoleクラスの代表的なプロパティの使い方を、サンプルコードと実行結果とあわせて解説します。Console.CursorLeftプロパティコンソール上のカーソル位置(左端から数えた列位置)を変更するには、Console.CursorLeftプロパティを使用します。サンプルコードusing System

  2. C#のシングルトンクラスとは?実装方法とサンプルコードを解説

    シングルトンクラスとは シングルトンパターン(Singleton Pattern)は、クラスのインスタンスがアプリケーション内で1つだけ存在することを保証するデザインパターンです。データの割り当てやインスタンス化が一度だけ行われるため、メモリの無駄な消費を抑えることができます。 シングルトンクラスには通常のメソッドを持たせることが可能で、その唯一のインスタンスを通じてメソッドを呼び出します。 複数インスタンスの生成を防ぐ方法 クラスの複数のインスタンスが作成されるのを防ぐには、プライベートコンストラクタ(private constructor)を使用します。コンストラクタをprivateにす