您的位置:首页 > 编程语言 > C#

c#中 ?? 是什么意思?

2012-03-09 15:08 507 查看
refer to :http://www.cnblogs.com/dupeng0811/archive/2009/03/26/1422512.html


c#中
?? 是什么意思?

string id = Request["id"] ?? string.Empty;

?? 

判断??左边表达式是否为null,如是null则取右边表达式的值,否则就取左边表达式的值

The ?? operator returns the left-hand operand if it is not null, or else it returns the right operand. 

例子:

// nullable_type_operator.cs
using System;
class MainClass

{

    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");

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# null