【问题标题】:In c# , what does it mean '??'? [duplicate]在 c# 中,“???”是什么意思? [复制]
【发布时间】:2014-02-02 01:21:04
【问题描述】:

** 请停下来讨论这个问题。我真的不知道要搜索什么。我曾尝试使用像“C# ??”这样的关键字并尝试像'??它是什么',但在'可能已经有你答案的问题'框中没有任何问题。

public ICommand _command;
public ICommand Command
{
    get
    {
        return _command ?? (_command = new MvxCommand(AddItem));
    }
}

我发现我喜欢那些代码。但是我真的不知道是什么意思?

另外,如果我想在msdn中搜索它,我应该使用什么关键字?

【问题讨论】:

    标签: c# symbols


    【解决方案1】:

    它是 Null 合并运算符。这意味着如果 this 有值则使用它,如果没有则使用下一项。

    这对于可空类型和对象非常有用。

    int? age = null; 
    
    var defaultAge = age ?? 21;
    //defaultAge is now 21
    

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

    【讨论】:

      【解决方案2】:

      称为 Null 合并运算符

      如果第一部分为空,则使用下一部分,在您的情况下,如果 _command 为空,则它会创建一个新的 command,否则它将仅使用 _command

      【讨论】:

        【解决方案3】:

        空合并运算符。函数就像 TSQL 中的“IsNull”。如果左值不为空,则使用它。否则,请使用正确的值。

        【讨论】:

          猜你喜欢
          • 2019-09-12
          • 2015-06-25
          • 2019-12-08
          • 2013-02-12
          • 2011-06-10
          • 2014-06-25
          • 2014-11-08
          • 2011-05-06
          • 2021-05-17
          相关资源
          最近更新 更多