对不起,如果它是重复的。我找不到关于这件事的完整解释。而且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)的重载。
谢谢。