zoukankan      html  css  js  c++  java
  • C#语法中一个问号(?)和两个问号(??)的运算符是什么意思?zz

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

     MSDN上面的解释:

    在处理数据库和其他包含不可赋值的元素的数据类型时,将 null 赋值给数值类型布尔型以及日期类型的功能特别有用。例如,数据库中的布尔型字段可以存储值 true 或 false,或者,该字段也可以未定义。

     

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

    MSDN上面的解释:

    ?? 运算符称为 null 合并运算符,用于定义可以为 null 值的类型和引用类型的默认值。如果此运算符的左操作数不为 null,则此运算符将返回左操作数(左边表达式);否则当左操作数为 null,返回右操作数(右边表达式)。 


    nt? x = null;//定义可空类型变量
    int? y = x ?? 1000;//使用合并运算符,当变量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,则此运算符将返回左操作数;否则返回右操作数。
                   }
            }
    
     

     

  • 相关阅读:
    Saltstack module gem 详解
    Saltstack module freezer 详解
    Saltstack module firewalld 详解
    Saltstack module file 详解
    Saltstack module event 详解
    Saltstack module etcd 详解
    Saltstack module environ 详解
    Saltstack module drbd 详解
    Saltstack module dnsutil 详解
    获取主页_剥离百度
  • 原文地址:https://www.cnblogs.com/xpvincent/p/9516708.html
Copyright © 2011-2022 走看看