なんだかGoodVibes

日々の勉強メモです。

Tuple を使ってみる。

名前のない型を作ることができるTuple。
今まで使ったことがなかったので、サンプル作ってみました。

var tuple = ("データ1", 1000);
Console.WriteLine($"データ:{tuple.Item1}  種別:{tuple.Item2}");

string とint をセットしています。
Tuple にセットした値は、Item1,Item2...で参照できます。
リストを使ってみるとこんな感じ。

// データ名、データ番号を格納する。
var tupleList = new List<Tuple<string, int>>();
tupleList.Add(Tuple.Create("データ1", 1000));
tupleList.Add(Tuple.Create("データ2", 2000));

foreach (var item in tupleList)
{
       Console.WriteLine($"データ:{item.Item1}  種別:{item.Item2}");
}

ここで、1点注意が。
上記のサンプル2つは、Tupleにセットする型が違いますよね?
参照するとき、Item1,Item2と設定するため、判断が型の違いに頼ることになります。
例えば以下のサンプル。

// データ名、データ番号、並び順を格納する。
var tupleList2 = new List<Tuple<string, int, int>>();
tupleList2.Add(Tuple.Create("データ1", 1000, 1));
tupleList2.Add(Tuple.Create("データ2", 2000, 2));

Item1 = string
Item2 = int
Item3 = int
となってしまい、判断を間違えてしまう可能性があります。
なので、Tuple を使う際に、型が同じものを使うのは
避けたほうがミスが減るのでいいでしょうね。