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
    人各有命,上天注定,有人天生为王,有人落草为寇。脚下的路,如果不是你自己的选择,那么旅程的终点在哪,也没人知道。你会走到哪,会遇到谁,都不一定。
  • 相关阅读:
    Oracle数据库5--数据库对象
    Oracle数据库4--多表关联
    Session
    cookie
    Servlet的部分response响应处理
    Servlet的部分request请求处理
    Linux部分命令
    Linux基础
    弹性布局
    animation 动画
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/14676276.html
Copyright © 2011-2022 走看看