黑马程序员技术交流社区
标题:
关于null
[打印本页]
作者:
刘逍遥
时间:
2012-6-23 21:49
标题:
关于null
值类型为什么不可以为null, 值类型和引用类型,在堆栈分配上有差别,还有什么差别呢?
作者:
李朋霏
时间:
2012-7-16 23:34
值类型做全局变量时,如果不赋值,则默认一个特定值,比如,int默认是0,bool默认是false ;
引用类型做全局变量时,如果不赋值,则默认为NULL,既不指向任何对象。
不同:
值类型可以直接修改其内容,而引用类型则需要重新创建一个对象,重指向它。
值类型不可以被继承,而作为对象的引用类型则可以被继承。
作者:
李朋朋
时间:
2012-7-16 23:59
值类型可以赋值为0,但不能赋值为null,因为null表示空,即没有值,这违反了我们定义变量的原则,因为任何变量在使用前,都要赋值,所以我们可以把值类型赋值为0,但不能设置为null。
作者:
冯大卫
时间:
2012-7-17 02:11
c#的可空类型。
按照规则,null用来建立一个空的对象引用,所以值类型永远不可以被赋值为null。而引用类型可被赋值为null。
为了让值类型也可赋值为null,可采用以下方法:
bool? a=null;编译通过,即在数据类型后加“?”,这种做法只对值类型有效。?实际上是System.Nullable的简写。
可空类型的好处在于,数据库的字段有可能为null,若为值类型增加null值,可赋值为null,通过判断是否为null来判断。
还有其中要注意的一点是:??。??的用法如下:int? mydata=dr.GetData() ?? 100;意义为当返回值为null时,赋值为100。
作者:
李根
时间:
2012-7-18 02:14
值类型不可能为空或null 因为它必定有一个值 -65535到65535 就算是0 也不是空或null
只有字符 字符串才有可能是空或null
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2