Saturday, 28 March 2015

null-coalescing operator in C#



The ?? operator is called the null-coalescing operator.
It returns the left-hand operand if the operand is not null; otherwise it returns the right hand operand.
class NullCoalesce
{
    static int? GetNullableInt()
    {
        return null;
    }

    static string GetStringValue()
    {
        return null;
    }

    static void Main()
    {
        int? x = null;

        // Set y to the value of x if x is NOT null; otherwise,
        // if x = null, set y to -1.
        int y = x ?? -1;

        // Assign i to return value of the method if the method's result
        // is NOT null; otherwise, if the result is null, set i to the
        // default value of int.
        int i = GetNullableInt() ?? default(int);

        string s = GetStringValue();
        // Display the value of s if s is NOT null; otherwise,
        // display the string "Unspecified".
        Console.WriteLine(s ?? "Unspecified");
    }
}
The result of a ?? operator is not considered to be a constant even if both its arguments are constants.


No comments:

Post a Comment