C#:数据类型后的?

问号在C#中表示种弱类型。Nullable是.NET 2.0中新提供的一种用于标明一个值类型是否可以为空的技术。

对于一个类型,如果既可以给它分配一个值,也可以给它分配空引用null(表示没有任何值),我们就说这个类型是可空的。

下面解释下问号的用法:

  a。  变量定义中含有一个问号,意思是这个数据类型是NullAble类型的。用于给变量设初值的时候,给变量(int类型)赋值为null,而不是0!

    例子:    int? x = 125 等同于Nullable<int> x = new Nullable<int>(125);   

b。  变量定义中含有两个问号, 用于判断并赋值,先判断当前变量是否为null,如果是就可以赋一个新值,否则跳过!意思是取所赋值??左边的,如果左边为null,取所赋值??右边的。

   例子:    page ?? 0,表示page为null的时候,取右边的值0.

原文地址:https://www.cnblogs.com/agile2011/p/2108690.html