问题
Do we have any operator in C# by which I can avoid short circuit evaluation and traverse to all the conditions.
say
if(txtName.Text.xyz() || txtLastName.Text.xyz())
{
}
public static bool xyz(this TextBox txt)
{
//do some work.
return false;
}
It should evaluate all conditions irrespective of output obtained. And after evaluating last condition continues according to result obtained. ?
回答1:
Just use a single bar, this will evaluated both arguments regardless of the outcome of the first result.
if(txtName.Text.xyz() | txtLastName.Text.xyz()) { }
You can also do the same with AND, i.e. You can replace &&
with a single ampersand to get the same affect as above:
if(txtName.Text.xyz() & txtLastName.Text.xyz()) { } // Both sides will be called
回答2:
Just use a single bar;
if(txtName.Text.xyz() | txtLName.Text.xyz())
{
}
来源:https://stackoverflow.com/questions/3244316/how-to-avoid-short-circuit-evaluation-in-c-sharp-while-doing-the-same-functional