次の方法で共有


|| 演算子 (C# リファレンス)

更新 : 2007 年 11 月

条件 OR 演算子 (||) では bool オペランドの論理 OR が実行されますが、必要な場合だけ、2 番目のオペランドが評価されます。

解説

x || y

この演算は次の演算に相当します。

x | y

ただし、x が true の場合、y は評価されません。この場合、OR 演算の結果は y の値にかかわらず true になるためです。これは、"ショートサーキット" 評価と呼ばれます。

条件 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# リファレンス