This question already has answers here:
Equality comparison between multiple variables

(14 个回答)


6年前关闭。



Int32 int1, int2, int3 = 123;

鉴于上述变量,如何在不创建集合来执行某些 123 或其他操作的情况下测试所有变量是否具有 Any 值?

我的尝试
if(int1 == int2 == int3 == 123)
{
   // Fantastic code here
}

编辑

我必须道歉,我的问题还不够清楚。我完全了解 && 运算符,我问的是“优雅”,即如何避免重复我想要比较的值。

以同样的方式,我在一次命中中为所有 3 个整数变量分配了相同的值,我现在想进行比较。到目前为止,似乎没有办法做到这一点。我想我问的是不可能的,我必须坚持基本语法并保持简单。

最佳答案

您可以创建一个有用的扩展函数:

public static bool EqualsAll<T>(this T val, params T[] values)
{
    return values.All(v => v.Equals(val));
}
称之为:
bool res = 123.EqualsAll(int1,int2,int3);

关于c# - 在一种条件下比较多个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29938953/

10-12 17:38
查看更多