Как избежать оценки короткого замыкания в C# при выполнении той же функциональности

У нас есть какой-либо оператор в C#, которым я могу избежать оценки короткого замыкания и пересечения ко всем условиям.

сказать

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

}

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

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

12
задан Shantanu Gupta 14 July 2010 в 08:07
поделиться

2 ответа

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

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

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

if(txtName.Text.xyz() & txtLastName.Text.xyz()) { } // Both sides will be called
20
ответ дан 2 December 2019 в 05:53
поделиться

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

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

}
6
ответ дан 2 December 2019 в 05:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: