C#之Null

2021/4/19 12:55:08

本文主要是介绍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

 



这篇关于C#之Null的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程