(值类型引用类型)和null的关系
1.null
null表示变量没有指向任何对象。
2.值类型
包括 bool、结构体、枚举、int、double、float等等 。在.NET中值类型都继承自ValueType。
3. 引用类型
包括 字符串、数组、类、接口等。在.NET中引用类型都继承自Object。
4. 引用类型和null
Person p1 = new Person();
//定义的p1此时没有任何指向了!
p1 =null;
p1.SayHi();
——————————————
执行完上面的代码,直接就抛出了一个异常我们非常熟悉的
未将对象引用到对象实例NullReferenceException
这就是引用类型和null的关系,当一个引用类型=null了以后,表示他没有了任何指向。
5. 值类型与null
//如果在项目中我这样写。
int num = null; //就不用等着抛异常了,因为编译器会直接报错的。因为值类型不能等于null。
如果我非让 int num = null;怎么办呢?请看第6条。
6.可空数据类型。
在.NET中,默认情况下。
可以为空的数据类型 是 引用类型。
不可以为空数据类型 是 值类型。
如何让值类型可以为控呢? 可以这样写。
//加了一个?表示让int类型 可空。称之为可空类型的int。
int ? num = null;//这种写法在数据库应用中的实体类中使用广泛。数据库中的某个字段可空,
//那么实体类中的属性也应该对应着可空。用的就是这个。
作者:大黑兔
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.