更新:2007 年 11 月

条件“或”运算符 (||) 执行 bool 操作数的逻辑“或”运算,但仅在必要时才计算第二个操作数。

备注

操作

 复制代码
x || y

对应于操作

 复制代码
x | y

不同的是,如果 xtrue,则不计算 y(因为不论 y 为何值,“或”操作的结果都为 true)。这被称作为“短路”计算。

不能重载条件“或”运算符,但规则逻辑运算符和运算符 truefalse 的重载,在某些限制条件下也被视为条件逻辑运算符的重载。

示例

在下面的示例中,请观察使用 || 的表达式只计算第一个操作数。

C# 复制代码
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");
    }
}

请参见

概念

参考

其他资源