zoukankan      html  css  js  c++  java
  • C#之Null

    Null合并操作符:?? 

    //如果操作数不是null,那么把它给我;否则的话,给我一个默认值。 
    //如果左边的表达式不是null,那么??右边的表达式不会被计算
    
    string s1=null;
    string s2=  s1 ?? "Nothing";
    //也就是说,s1如果是null,那么直接就右侧表达式默认值“Nothing”
    string s1="123"; string s2= s1 ?? "Nothing"; /也就是说,s1如果不是null,那么直接就返回值123

     Null条件操作符:?. 

    StringBuilder sb=null;
    //?.其实就是三元表达式
    string s=sb?.Tostring();//如果不加?.会直接报错
    string s3=(sb==null?null:sb.Tostring());
    
    综合的一个事例:
    stringbuilder sb=null;
    string s=sb?.Tostring() ??  "Nothing";//最后结果是null

     Nullable<>  可空值类型

    Nullable<>  可空值类型
    Nullable<Datetime> datetime=null;
    Datetime?  datetime=null;
    
    Nullable<T>的常用的属性和方法:
    HasValue //null:false , 否则:True
    Value    //底层值类型的值
    GetValueOrDefault()//底层值类型的值或该类型默认的值
    GetValueOrDefault(默认值)//底层值类型的值或该类型默认的值
    
    
     int? num = 3;
     Console.WriteLine(num.HasValue);//true
     Console.WriteLine(num.Value);//3
    
     int? num2 = null;
     Console.WriteLine(num2.HasValue);//false
     Console.WriteLine(num2.Value);//异常报错
     Console.WriteLine(num2.GetValueOrDefault());//int的默认值是0
     Console.WriteLine(num2.GetValueOrDefault(1));//这里num2是null值,给了一个指定的默认值1
    人各有命,上天注定,有人天生为王,有人落草为寇。脚下的路,如果不是你自己的选择,那么旅程的终点在哪,也没人知道。你会走到哪,会遇到谁,都不一定。
  • 相关阅读:
    flask——flask-sqlachemy中的一对多,多对多关系
    flask——flask-sqlachemy的使用,模块划分
    Ubuntu下安装JDK和Open Jdk
    flask——全文检索
    Flask——部署
    在Ubuntu上安装Chrome浏览器和ChromeDriver
    jinja2模板语言的循环序号
    CentOS7安装mongodb
    CentOS7安装PhantomJS
    使用screen在后台运行程序
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/14676276.html
Copyright © 2011-2022 走看看