http://topic.csdn.net/u/20090326/15/586b9281-314d-43b3-b1c0-a795d24fffc3.html
The ?? operator returns the left-hand operand if it is not null, or else it returns the right operand.
- C# code
- // nullable_type_operator.cs
using System;
class MainClass
{
staticint? GetNullableInt()
{
returnnull;
}
staticstring GetStringValue()
{
returnnull;
}
staticvoid 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");
}
}