在一个条件下比较多个值

Compare multiple values in one condition

Int32 int1, int2, int3 = 123;

鉴于上述变量,我如何测试所有变量都具有值 123 而无需创建集合来执行某些 Any 或其他操作?

我试过的

if(int1 == int2 == int3 == 123)
{
   // Fantastic code here
}

编辑

抱歉,我的问题还不够清楚。我完全了解 && 运算符,我在询问 'elegance',即如何避免重复我要比较的值。

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

您可以尝试这样的操作,使用逻辑与运算符:

if(int1 == 123 &&
   int2 == 123 &&
   int3 == 123)
{

}
if(int1 == something && int2 == something && int3 == 123)
{
   // Fantastic code here
}

这就是您应该使用 && 运算符的方式。您可以使用此检查多个条件。

更新:

就一次检查多个值而言,您可以尝试将这些值组成一个数组,然后像这样触发一个简单的 LINQ 语句来检查所有这些值的特定值:

if (new[] { int1, int2, int3 }.All(x => x == 1))

不知道这是否符合您的要求,不过只是一个建议。

if(int1 == 123 && int2 == 123 && int3 == 123) {  // Code }

您尝试实现的目标不可能以您的方式实现。 你必须用 &.

分隔它

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

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);