重複していたらごめんなさい。その件についての完全な説明は見つかりませんでした。そして、MSDNはいつものように曖昧です...
.Net タプルは、そのまま使用できる equals と GetHashCode の実装を提供しますか? (結果として == 演算子)
タプルがデフォルトですべてのアイテムを比較することを期待できますか、それともここに示されているように IEqualityComparer を提供する必要がありますnet-tuple-and-equals-performance ?
辞書のキーとして確実に適用できますか?
私は小さなテストを実行しました:
Tuple<DateTime, string, int> test3 = new Tuple<DateTime, string, int>(DateTime.Now.Date, "1", 1);
Tuple<DateTime, string, int> test4 = new Tuple<DateTime, string, int>(DateTime.Now.Date, "1", 1);
Console.WriteLine(test3 == test4);
Console.WriteLine(test3.Equals(test4));
Console.ReadKey();
結果は偽と真でした。equals は実装されていますが、演算子は実装されていないと思います。これは == 演算子が参照を比較するということですか? また、IEqualityComparer (フレームワーク バージョン 4) でオーバーロードが見つかりませんでした。
ありがとう。