C#C#语法中三个问号(?)和八个问号(??)的运算符是哪些看头?

C#,(1)、C#语法中三个个问号(?)的运算符是指:可以为 null 的类型。

 MSDN上边包车型大巴表达:

在拍卖数据库和其余富含不可赋值的成分的数据类型时,将
null
赋值给数值类型布尔型以及日子类型的作用尤其有用。比如,数据库中的布尔型字段可以积累值
true 或 false,恐怕,该字段也得以未定义。

 

 (2)、C#语法中七个问号(??)的运算符是指null
合并运算符
,合并运算符为类型调换定义了二个预设值,防止可空类型的值为Null。

MSDN上边的解释:

?? 运算符称为 null
合并运算符,用于定义可感到 null
值的项目和引用类型的暗中认可值。固然此运算符的左操作数不为
null,则此运算符将重临左操作数(左侧表明式);不然当左操作数为
null,重返右操作数(左侧表明式)。

C# Code:

int? x = null;//定义可空类型变量
int? y = x ?? 一千;//使用合并运算符,当变量x为null时,预设赋值1000

Console.WriteLine(y.ToString()); //1000

 

        /// <summary>
        /// Gets a single instance
        /// </summary>
        public static Log LogInstance
        {
              get

              {

                   return _log ?? (_log = new Log());
//即使此运算符的左操作数不为
null,则此运算符将重返左操作数;不然重返右操作数。
               }
        }

 

 

相关文章