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

C#でタプルのリストを簡単に初期化する方法【コード例付き】

タプル(Tuple)は、プロパティを持つオブジェクトを格納するためのデータ構造が必要なときに便利です。専用のクラスや型を新しく定義するほどではない場面で、複数の値を手軽にひとまとめにできます。

Tuple<T>クラスは.NET Framework 4.0で導入されました。タプルとは、異なるデータ型の要素を順序付けて格納できるデータ構造のことです。

Tuple<int, string, string> person =
    new Tuple<int, string, string>(1, "Test", "Test1");

なお、1つのタプルに格納できる要素は最大8個までという制限があります。9個以上の要素を含めようとするとコンパイルエラーが発生するため、注意が必要です。

タプルのリストを初期化する

C# 7.0以降で利用できる値タプル(ValueTuple)を使えば、リストの初期化子の中に直接タプルを記述でき、非常に簡潔に書けます。

var tupleList = new List<(int, string)>
{
    (1, "cow1"),
    (5, "chickens1"),
    (1, "airplane1")
};

タプルの配列を初期化する

配列の場合も同様に、シンプルな記述でタプルの配列を初期化できます。

var tupleArray = new (int, string)[]
{
    (1, "cow1"),
    (5, "chickens1"),
    (1, "airplane1")
};

ネストしたタプル

8要素を超えるデータを扱いたい場合は、タプルの中に別のタプルを格納する「ネスト構造」が有効です。

var numbers = Tuple.Create(1, 2, 3, 4, 5, 6, 7,
    Tuple.Create(8, 9, 10, 11, 12, 13));

メソッドの引数としてタプルを使う

タプルはメソッドのパラメータとしても渡せます。関連する複数の値をまとめて受け渡しできるのが利点です。

static void DisplayTuple(Tuple<int, string, string> person)
{
}

戻り値としてタプルを使う

メソッドから複数の値を返したい場合にも、タプルは非常に便利です。戻り値用のクラスを定義しなくても、複数の値をそのまま返せます。

static Tuple<int, string, string> GetTest()
{
    return Tuple.Create(1, "Test1", "Test2");
}
  1. Pythonで文字列やリストからタプルを作成する方法をわかりやすく解説

    tuple()関数の基本的な使い方Pythonには、さまざまなオブジェクトをタプルに変換できる組み込み関数 tuple() が用意されています。この関数を使うことで、文字列を個々の文字からなるタプルに変換したり、リストオブジェクトをそのままタプルに変換したりできます。ここでは、それぞれの具体的な使い方を見ていきましょう。1. 文字列をタプルに変換する文字列を tuple() の引数として渡すと、各文字が1つの要素となったタプルが返されます。>>> tuple(TutorialsPoint) (T, u, t, o, r, i, a, l, s, P, o, i, n, t)こ

  2. Pythonでタプルのリストを反復処理する方法

    タプルのリストを反復処理する最も簡単な方法は、2つのネストされたforループ(二重ループ)を使用することです。外側のループがリストから各タプルを1つずつ取り出し、内側のループがそのタプルに含まれる各要素を順番に走査します。内側のprint()関数では引数にend= を指定することで、改行せずにタプル内のすべての要素を1行に出力できます。さらに、外側のループ内にあるもう1つのprint()が、各タプルの出力後に改行を挿入します。サンプルコードL=[(1,2,3), (4,5,6), (7,8,9,10)] for x in L: for y in x: print(y,