複数の文字列キーを持つデータ構造を作成しようとしています。これを行うために、string[] 要素を使用して Dictionary を作成しようとしました。しかし、ContainsKey は期待どおりに機能していないようです。
Dictionary<string[], int> aaa = new Dictionary<string[], int>();
int aaaCount = 0;
aaa.Add(new string[] { string1, string2 }, aaaCount++);
if (!aaa.ContainsKey(new string[] { string1, string2 }))
{
aaa.Add(new string[] { string1, string2 }, aaaCount++);
}
上記のコードを実行すると、aaa にエントリが 2 つあることがわかりますが、1 つしかないと思っていました。これは予想される動作ですか?ディクショナリに重複エントリがないことを確認するにはどうすればよいですか?
注:リストでも同じことを試しました(リストと結果は同じです-Containsメソッドはstring []では実際には機能しません)