在C#中是否有任何运算符可以避免短路评估并遍历所有条件。
比如说
if(txtName.Text.xyz() || txtLastName.Text.xyz())
{
}
public static bool xyz(this TextBox txt)
{
//do some work.
return false;
}
它应该评估所有条件,而不管获得的输出如何。在评估完最后一个条件后,根据所获得的结果继续执行。?在C#中是否有任何运算符可以避免短路评估并遍历所有条件。
比如说
if(txtName.Text.xyz() || txtLastName.Text.xyz())
{
}
public static bool xyz(this TextBox txt)
{
//do some work.
return false;
}
它应该评估所有条件,而不管获得的输出如何。在评估完最后一个条件后,根据所获得的结果继续执行。?只需使用单个竖杠,这将评估两个参数,而不管第一个结果的结局如何。
if(txtName.Text.xyz() | txtLastName.Text.xyz()) { }
你也可以使用 AND 来实现同样的效果,即用单个 & 符号替换 &&
:
if(txtName.Text.xyz() & txtLastName.Text.xyz()) { } // Both sides will be called
if(txtName.Text.xyz() | txtLName.Text.xyz())
{
}