C# 泛型--可空类型(nullable type)
值类型必须包含一个值,他们可以在声明之后、赋值之前,在未赋值的状态下存在,但不能以任何方式使用。而引用类型可以是null。
大多数基本类型如:int 、double和所有的结构都属于值类型;
string和所有的类都数以引用类型!
可空类型
有时让值类型为空是很有用的,泛型使用System.Nullable类型提供了使值类型为空的一种方式。例如:
上面的代码声明了一个变量:nullableInt,它可以拥有int变量能包含的任何值还可以拥有值null。
上面可控类型的变量不适用上面的语法,而是使用下面的语法:
int? 是System.Nullable的缩写。
1.??运算符
这个运算符可以提供可空类型是null和不是null的默认值。其用法如下:
这个例子中op1是null,op1*2的值也是null 但是??运算符检测到这个情况,就会吧5赋值给result。
也可以吧“??”运算符提供给“int?”。
大多数基本类型如:int 、double和所有的结构都属于值类型;
string和所有的类都数以引用类型!
可空类型
有时让值类型为空是很有用的,泛型使用System.Nullable
<br/>System.Nullable <int> nullableInt;<br/>
上面的代码声明了一个变量:nullableInt,它可以拥有int变量能包含的任何值还可以拥有值null。
上面可控类型的变量不适用上面的语法,而是使用下面的语法:
<br/>int? nullableInt;<br/>
int? 是System.Nullable
1.??运算符
这个运算符可以提供可空类型是null和不是null的默认值。其用法如下:
<br/>int? op1=null;<br/>int result=op1 * 2 ?? 5;<br/>
这个例子中op1是null,op1*2的值也是null 但是??运算符检测到这个情况,就会吧5赋值给result。
也可以吧“??”运算符提供给“int?”。
0 条留言
我要留言