Оператор || (Справочник по C#)
Условный оператор OR (||) выполняет логическое OR своих операндов типа bool, но вычисляет только второй операнд при необходимости.
Заметки
Операция
x || y
соответствует операции
x | y
за исключением того, что если x имеет значение true, y не рассчитывается (поскольку результатом операции OR является true независимо от значения y). Это называется сокращенным вычислением.
Оператор условного OR не может быть перегружен, но перегрузки регулярных логических операторов и операторов true и false могут, с некоторыми ограничениями, считаться перегрузками условных логических операторов.
Пример
В следующем примере выражение с || вычисляет только первый операнд.
class ConditionalOr
{
static bool Method1()
{
Console.WriteLine("Method1 called");
return true;
}
static bool Method2()
{
Console.WriteLine("Method2 called");
return false;
}
static void Main()
{
Console.WriteLine("regular OR:");
Console.WriteLine("result is {0}", Method1() | Method2());
Console.WriteLine("short-circuit OR:");
Console.WriteLine("result is {0}", Method1() || Method2());
}
}
/*
Output:
regular OR:
Method1 called
Method2 called
result is True
short-circuit OR:
Method1 called
result is True
*/
См. также
Ссылки
Основные понятия
Руководство по программированию на C#