首页 文章

双重问号在C#中有什么作用? [重复]

提问于
浏览
49

可能重复:?? Null Coalescing Operator - >合并是什么意思? C#中两个问号共同意味着什么?

我在这里找不到这个问题所以我想我会问它 . 双重问号在C#中有什么作用?

例:

x = y ?? z;

7 回答

  • 55

    这是一个空的合并运算符 . 上面的方法状态x被赋予y的值,除非y为空,在这种情况下,它被赋予z的值 .

  • 6

    如果不为null,请使用y,否则使用z

  • 14

    Wikipedia

    这是null-coalesce运算符和简写:

    x = (y != null ? y : z);
    
  • 7

    如果y为null,则x将设置为z .

  • 1

    如果值y为null,则赋值z .

    例如:

    x = Person.Name ?? "No Name";
    

    如果name为null,则x将具有值“No Name”

  • 1

    正如其他人所说,它是零合并运算符 .

    关于此的MSDN信息:

    http://msdn.microsoft.com/en-us/library/ms173224.aspx

  • 16

    .Net framework 2.0以后允许空值为Nullable值类型 .

    在这种情况下,如果它有一些值(即不为空),则表示x等于y,否则等于z

相关问题