Оператор || (Справочник по C#)
Обновлен: Ноябрь 2007
Условный оператор OR (||) выполняет логическое OR своих операндов типа bool, но вычисляет только второй операнд при необходимости.
Заметки
Операция
x || y
соответствует операции
x | y
за исключением того, что если x имеет значение true, y не рассчитывается (поскольку результатом операции OR является true независимо от значения y). Это называется сокращенным вычислением.
Оператор условного OR не может быть перегружен, но перегрузки регулярных логических операторов и операторов true и false могут, с некоторыми ограничениями, считаться перегрузками условных логических операторов.
Пример
В следующем примере выражение с || вычисляет только первый операнд.
class NullCoalesce
{
static int? GetNullableInt()
{
return null;
}
static string GetStringValue()
{
return null;
}
static void Main()
{
// ?? operator example.
int? x = null;
// y = x, unless x is null, in which case y = -1.
int y = x ?? -1;
// Assign i to return value of method, unless
// return value is null, in which case assign
// default value of int to i.
int i = GetNullableInt() ?? default(int);
string s = GetStringValue();
// ?? also works with reference types.
// Display contents of s, unless s is null,
// in which case display "Unspecified".
Console.WriteLine(s ?? "Unspecified");
}
}
См. также
Основные понятия
Руководство по программированию в C#