📅  最后修改于: 2023-12-03 14:55:56.792000             🧑  作者: Mango
ValueTuple<T1, T2, T3, T4> 是 C# 7.0 引入的一个数据类型,用于在元组中存储四个不同类型的值。在比较两个 ValueTuple<T1, T2, T3, T4> 实例时,可以使用 == 和 != 运算符进行比较。
可以使用 == 运算符对两个 ValueTuple<T1, T2, T3, T4> 进行比较。比较的结果是一个 bool 类型的值,当两个 ValueTuple<T1, T2, T3, T4> 相等时,返回 true;当两个 ValueTuple<T1, T2, T3, T4> 不相等时,返回 false。
ValueTuple<T1, T2, T3, T4> tuple1 = (value1, value2, value3, value4);
ValueTuple<T1, T2, T3, T4> tuple2 = (value1, value2, value3, value4);
bool isEqual = tuple1 == tuple2;
除了使用 == 运算符来比较两个 ValueTuple<T1, T2, T3, T4> 是否不相等,还可以使用 != 运算符进行比较。和 == 运算符相反,!= 运算符在两个 ValueTuple<T1, T2, T3, T4> 不相等时返回 true,相等时返回 false。
ValueTuple<T1, T2, T3, T4> tuple1 = (value1, value2, value3, value4);
ValueTuple<T1, T2, T3, T4> tuple2 = (value1, value2, value3, value4);
bool isNotEqual = tuple1 != tuple2;
在比较 ValueTuple<T1, T2, T3, T4> 时,需要确保两个 ValueTuple<T1, T2, T3, T4> 的所有元素都具有相同的类型,并且顺序相同。否则,比较结果将始终为 false。
值类型的成员会按值进行比较,引用类型的成员会按引用进行比较。
int intValue1 = 1;
int intValue2 = 2;
string stringValue1 = "hello";
string stringValue2 = "world";
ValueTuple<int, int, string, string> tuple1 = (intValue1, intValue2, stringValue1, stringValue2);
ValueTuple<int, int, string, string> tuple2 = (intValue1, intValue2, stringValue1, stringValue2);
ValueTuple<int, int, string, string> tuple3 = (intValue2, intValue1, stringValue2, stringValue1);
bool isEqual1 = tuple1 == tuple2; // true
bool isEqual2 = tuple1 == tuple3; // false
bool isNotEqual1 = tuple1 != tuple2; // false
bool isNotEqual2 = tuple1 != tuple3; // true
以上代码示例中,tuple1 和 tuple2 的元素相同,所以使用 == 运算符比较得到 true;tuple1 和 tuple3 的元素顺序不同,所以使用 == 运算符比较得到 false;同时使用 != 运算符比较的结果也符合预期。
希望以上介绍对您有帮助!