|| 運算子 (C# 參考)
更新:2007 年 11 月
OR 條件運算子 (||) 會對其 bool 運算元執行 OR 邏輯運算,但只有在需要時才會評估第二個運算元。
備註
運算
x || y
對應到這項運算
x | y
不同在於當 x 為 true 時,y 不會被評估 (因為不論 y 值為何,OR 運算的結果皆為 true)。這就是所謂的「最少運算」(Short-Circuit) 評估。
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");
}
}