HOWTO · Csharp

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

C# でタプルのリストを初期化するために使用できる 2つの主要なメソッド、Tuple.Create()メソッドと()表記があります。

このチュートリアルでは、C# でタプルのリストを初期化する方法について説明します。

C# の Tuple.Create() メソッドを使用してタプルのリストを初期化する

C# の Tuple.Create(x, y) メソッドは、値が xy の新しいタプルを作成します。タプルのリストを作成し、リストの初期化中に Tuple.Create() メソッドを使用できます。次の例を参照してください。

using System;
using System.Collections.Generic;

namespace list_of_tuples {
  class Program {
    static void Main(string[] args) {
      var tupleList =
          new List<Tuple<int, string>> { Tuple.Create(1, "value1"), Tuple.Create(2, "value2"),
                                         Tuple.Create(3, "value3") };
      foreach (var pair in tupleList) {
        Console.WriteLine(pair);
      }
    }
  }
}

出力:

(1, value1)
(2, value2)
(3, value3)

上記のコードでは、リストコンストラクター内の Tuple.Create() メソッドを使用して、タプルの tupleList リスト (int, string) を初期化しました。このアプローチは問題なく機能しますが、リスト tupleList 内の各タプルに Tuple.Create() メソッドを使用する必要があるため、少し冗長です。

C# で () 表記を使用してタプルのリストを初期化する

C# の (x, y) 表記は、xy の値を持つタプルを指定します。Tuple.Create() 関数の代わりに、リストコンストラクター内で () 表記を使用してタプルのリストを初期化することもできます。次のコード例は、C# で () 表記を使用してタプルのリストを初期化する方法を示しています。

using System;
using System.Collections.Generic;

namespace list_of_tuples {
  class Program {
    static void Main(string[] args) {
      var tupleList = new List<(int, string)> { (1, "value1"), (2, "value2"), (3, "value3") };
      foreach (var pair in tupleList) {
        Console.WriteLine(pair);
      }
    }
  }
}

出力:

(1, value1)
(2, value2)
(3, value3)

上記のコードでは、タプルの tupleList リスト (int, string) をリストコンストラクター内の (int, string) 表記で初期化しました。このアプローチは、前のアプローチほど冗長ではなく、同じことを行うため、前の例よりも適しています。