C# 8.0 可空引用类型的使用和注意事项
143 浏览量
更新于2024-08-29
收藏 1.41MB PDF 举报
C# 8.0 可空引用类型的使用注意记录
C# 8.0 中的可空引用类型是一个重要的新特征,它改变了引用类型的默认行为,使其不可为空,除非手工将其设为可空引用类型。这意味着,在启用可空引用类型后,引用类型将默认被视为不可空,无法赋予 null。
为了使用可空引用类型,需要在项目文件(.csproj)中添加以下配置:
<LangVersion>8.0</LangVersion>
<NullableContextOptions>enable</NullableContextOptions>
这将启用 C# 8.0 语言和可空引用类型,使整个项目全局启用可空引用类型。
需要注意的是,在 VS2019 正式版中,使用 `<NullableContextOptions>enable</NullableContextOptions>` 而不是 `<NullableReferenceTypes>true</NullableReferenceTypes>`,因为后者已经失效。
虽然可以在程序代码中使用 `#nullable enable` 指令来单独启用可空引用类型,但是这并不是一个好的实践。因为该指令仅在该文件中有效,不能跨文件生效,从而无法阻止 null 逃逸到使用了该指令的文件中。
因此,强烈建议在项目文件中全局启用可空引用类型,而不是在某个源文件中单独使用。
另外,还需要注意的是,即使启用了可空引用类型后,默认情况下,即使对不可空引用赋予 null,编译器也只会生成编译警告,而不是编译错误。这意味着,在大项目中,编译警告不可避免,甚至可能会很多,从而淹没了“给不可空引用类型赋予空值”这种不起眼的警告。
因此,建议将特定的警告视为错误,以免被忽视。
C# 8.0 的可空引用类型是一个非常有用的新特征,它可以帮助开发者编写更加安全和可靠的代码。但是,需要正确地使用和配置,否则可能会引发错误或警告。
2021-03-23 上传
2019-12-09 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-11-02 上传
2021-02-04 上传
2006-02-23 上传
点击了解资源详情
weixin_38551205
- 粉丝: 3
- 资源: 894
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录