【问题标题】:What does a double question mark do in C#? [duplicate]C#中的双问号有什么作用? [复制]
【发布时间】:2010-12-09 03:41:35
【问题描述】:

可能的重复:
?? Null Coalescing Operator --> What does coalescing mean?
What do two question marks together mean in C#?

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

例子:

x = y ?? z;

【问题讨论】:

标签: c# null-coalescing-operator null-coalescing


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    来自Wikipedia

    它是 null-coalesce 运算符和它的简写:

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

    【讨论】:

      【解决方案3】:

      如果不是null,则使用y,否则使用z

      【讨论】:

        【解决方案4】:

        如果 a 的值 y 为 null,则分配值 z。

        例如:

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

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

        【讨论】:

          【解决方案5】:

          如果 y 为 null,x 将被设置为 z。

          【讨论】:

            【解决方案6】:

            .Net framework 2.0 及更高版本允许 Nullable 值类型为 Nullable 值。

            在这种情况下,它说 如果 x 有某个值(即不为空),则 x 等于 y,否则等于 z

            【讨论】:

              【解决方案7】:

              正如其他人所说,它是空合并运算符。

              有关此的 MSDN 信息:

              https://docs.microsoft.com/dotnet/csharp/language-reference/operators/null-coalescing-operator

              【讨论】:

                猜你喜欢
                • 2021-11-09
                • 2016-03-21
                • 2011-05-19
                • 2013-11-22
                • 1970-01-01
                • 2012-12-20
                • 2019-09-15
                • 2016-05-31
                • 1970-01-01
                相关资源
                最近更新 更多