认识全面的null
2016-05-25 11:19
399 查看
在.NET中,null标识一个对象引用是无效的。作为引用类型变量的默认值,Null是针对指针(引用)而言的,它是引用类型的专属概念
null不等同于0,‘’,‘string.Empty’,而表示一个空引用
引用is或as模式对类型进行判断或转换时,需要做进一步的Null检查
判断一个变量是否为null,可以应用==或!=操作符来完成
**对任何值为null的变量操作,都会抛出NullReferenceExceptiom异常**0
Nullable< T >(可空类型):
int? i = null ; <==> Nullable< int > i= null;
可空类型伟大在于为值类型添加了“可空性”,例如Nullable< Boolean >的值就包括true,false,和null
Nullable(可空类型)总结:
可空类型表示值为null的值类型
不允许使用嵌套的可空类型,例如Nullable< Nullable< T > >
Nullable< T > 和T?是等效的。
对可空类型执行GetType方法,将返回类型T,而不是Nullable< T>
C#允许在可空类型上执行转换和转型
CLR提供了对可空类型装箱和拆箱的支持,是为了更好的将可空类型与原有的类型系统进行兼容
??运算符:
例如:
通过多次的的??判定,从候选者a,b,c挑出不是null的那个
结论
null为引用类型标量的默认值,为引用类型的概念范畴null不等同于0,‘’,‘string.Empty’,而表示一个空引用
引用is或as模式对类型进行判断或转换时,需要做进一步的Null检查
判断一个变量是否为null,可以应用==或!=操作符来完成
**对任何值为null的变量操作,都会抛出NullReferenceExceptiom异常**0
Nullable< T >(可空类型):
int? i = null ; <==> Nullable< int > i= null;
可空类型伟大在于为值类型添加了“可空性”,例如Nullable< Boolean >的值就包括true,false,和null
Nullable(可空类型)总结:
可空类型表示值为null的值类型
不允许使用嵌套的可空类型,例如Nullable< Nullable< T > >
Nullable< T > 和T?是等效的。
对可空类型执行GetType方法,将返回类型T,而不是Nullable< T>
C#允许在可空类型上执行转换和转型
CLR提供了对可空类型装箱和拆箱的支持,是为了更好的将可空类型与原有的类型系统进行兼容
??运算符:
例如:
Console.WriteLine(a??null??b???c??null);
通过多次的的??判定,从候选者a,b,c挑出不是null的那个
相关文章推荐
- zabbix如何监控php-fpm
- 实例变量和类变量---==---实例方法和类方法
- IT人论房价 (五) 央行控盘的房市
- IT人论房价 (五) 央行控盘的房市
- ArrayList去除重复数据,排序
- JAVA的StringBuffer类
- Cocos2dx spine 二进制 c 版本
- php 解析xml
- Jdicom安装
- 黄聪:wkhtmltopdf解决分页问题
- 0525 SCRUM项目7.0
- Combiner类和Partitioner类——hadoop
- Android中使用定时器的三种方法
- CAS(1)-简介
- 什么时候可以使用Ehcache缓存
- 开源任务管理平台TaskManager介绍
- Oracle 查询死锁并解锁的终极处理方法
- 高德地图LBS开发定位--android客户端
- HashMap与ConcurrentHashMap的区别
- 怎么成为一个架构师