Int32 int1, int2, int3 = 123;
鉴于上述变量,我如何测试我的所有变量都具有值123
,而无需创建集合来执行某些Any
或其他内容?
我尝试过的事情
if(int1 == int2 == int3 == 123)
{
// Fantastic code here
}
修改
我必须道歉,在我的问题中,我还不够清楚。我完全了解&&
运算符,我问的是优雅&#39;,即如何避免重复我想要比较的值。 < / p>
以同样的方式,我在一次点击中为所有3个整数变量分配了相同的值,我现在想进行比较。到目前为止,它看起来好像没有办法做到这一点。我想我会问不可能,我必须坚持基本语法并保持简单。
答案 0 :(得分:6)
您可以创建有用的扩展功能:
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);
答案 1 :(得分:1)
你可以尝试这样的事情,使用逻辑和运算符:
if(int1 == 123 &&
int2 == 123 &&
int3 == 123)
{
}
答案 2 :(得分:1)
if(int1 == something && int2 == something && int3 == 123)
{
// Fantastic code here
}
这是您应该使用&&
运算符执行此操作的方法。您可以使用此功能检查多个条件。
更新:
就一次性检查多个值而言,您可以尝试使用这些值创建一个数组,然后只需触发一个简单的LINQ语句来检查所有这些值是否为特定值:
if (new[] { int1, int2, int3 }.All(x => x == 1))
不知道这是否符合您的要求,只是一个建议。
答案 3 :(得分:1)
if(int1 == 123 && int2 == 123 && int3 == 123) { // Code }
你想要实现的目标是不可能的。 你必须将它与&amp;。
分开