首页 > Windows开发 > 详细

C#之Null

时间:2021-04-19 14:45:28      阅读:19      评论:0      收藏:0      [点我收藏+]

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

 

C#之Null

原文:https://www.cnblogs.com/ZkbFighting/p/14676276.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!