Operatore || (Riferimenti per C#)
Aggiornamento: novembre 2007
L'operatore OR condizionale (||) esegue un OR logico degli operandi bool, ma valuta il secondo operando solo se necessario.
Note
L'operazione
x || y
corrisponde all'operazione
x | y
con la differenza che, se x è true, y non verrà valutato, in quanto il risultato dell'operazione di OR è true indipendentemente dal valore di y. Questa condizione viene denominata anche valutazione "short circuit".
L'operatore OR condizionale non può essere sottoposto a overload. Tuttavia, anche gli overload dei normali operatori logici e degli operatori true e false vengono considerati, con qualche limitazione, overload degli operatori logici condizionali.
Esempio
Nell'esempio riportato di seguito, l'espressione che utilizza l'operatore || valuta solo il primo operando.
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");
}
}