Как избежать оценки короткого замыкания в C # при выполнении той же функциональности - PullRequest
11 голосов
/ 14 июля 2010

Есть ли у нас оператор в C #, с помощью которого я могу избежать оценки короткого замыкания и выполнить все условия.

скажем

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

}

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

Он должен оценивать все условия независимо от полученной продукции. И после оценки последнее условие продолжается согласно полученному результату.

Ответы [ 2 ]

19 голосов
/ 14 июля 2010

Просто используйте один столбец, при этом оба аргумента будут оцениваться независимо от результата первого результата.

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

Вы также можете сделать то же самое с AND, т.е. вы можете заменить && наодин амперсанд для получения того же эффекта, что и выше:

if(txtName.Text.xyz() & txtLastName.Text.xyz()) { } // Both sides will be called
5 голосов
/ 14 июля 2010

Просто используйте один бар;

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

}
...