null与void
null值用来表示数据类型未被赋予任何值,它是一种引用类型;void表示没有类型,或者说是没有任何值。null与void的区别可以认为void是根本没有,而null是一个空箱子,里面什么都没有。
null值只能赋值给引用类型,这里注意到string也是一种引用类型;引用类型在C中称为“指针”,即存放变量位置的内存空间位置。将变量设为null,会显式地设置引用,且它本身不指向任何内存位置;
null值赋给值类型将导致编译错误。
void用于方法值的返回,其本质并不是一个数据类型,它只是用于指出没有数据类型。
System.Nullable
C#中null值不能赋值给值类型,这里的值类型包括struct在内。原因是值类型不能包含引用,null作为一种“无”的引用当然不能被值类型所引用。在实际应用中这样会造成一些问题,假如现在一个数据int类型确实无法确定它的取值。这里就需要使用可空类型。
Console.WriteLine(i);
此时即可将int类型的i声明为null类型,同时该程序运行结果将看到无任何数据显示
Console.WriteLine(i);
此时即可将int类型的i声明为null类型,同时该程序运行结果将看到无任何数据显示
使用GetType()查看其类型将抛出System.NullReferenceException异常
Console.WriteLine( i.GetType());
System.Nullable<T>可简写为T?,如System.Nullable<int>可写作int?。可空类型在ADO.NET编程中大量使用。
另外Nullable类型的实例均拥有HasValue成员与Value成员,其中HasValue为bool类型,表示判断该实例是否有值;Value表示在HasValue有值时实例的取值,在HasVaue为false时使用Value将触发System.InvalidOperationException异常。
Console.WriteLine(i.HasValue);
Console.WriteLine(i.Value);
以上就是【C#难点逐个击破(8):可空类型System.Nullable】的全部内容了,欢迎留言评论进行交流!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容