Оператор || (Справочник по 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#

Ссылки

Операторы C#

Другие ресурсы

Справочник по C#