14

我们在 C# 中是否有任何运算符可以避免短路评估并遍历所有条件。

if(txtName.Text.xyz() || txtLastName.Text.xyz())
{

}

public static bool xyz(this TextBox txt)
{
//do some work.
return false;
}

无论获得的输出如何,它都应该评估所有条件。并在评估最后一个条件后根据获得的结果继续。?

4

2 回答 2

25

只需使用一个条,这将评估两个参数,而不管第一个结果的结果如何。

if(txtName.Text.xyz() | txtLastName.Text.xyz()) { }

你也可以用 AND 做同样的事情,即你可以&&用一个 & 号替换以获得与上面相同的效果:

if(txtName.Text.xyz() & txtLastName.Text.xyz()) { } // Both sides will be called
于 2010-07-14T08:09:53.657 回答
6

只需使用一个酒吧;

if(txtName.Text.xyz() | txtLName.Text.xyz())
{

}
于 2010-07-14T08:10:41.923 回答