C# 中的可为空类型允许值类型变量包含 null 值,处理数据库或可选数据时非常有用。
1、语法与声明
使用 类型? 语法声明可为空类型,如 int?、bool?、double?。声明后变量可赋值为 null,打印空值时不会显示内容。
2、空值合并运算符
双问号 ?? 运算符在前一操作数为 null 时返回后一操作数的值,否则返回第一个操作数的值。两边的类型必须一致或为相应的不可为空类型。
3、注意事项
可为空类型在使用前必须被赋值,没有默认值。对于字符串等引用类型,虽然编译器会警告字符串为空,但编译仍可通过。空值与空字符串是不同的概念。
4、应用场景
在面向对象设计中,可空类型用于区分"未赋值"和"已赋值"的情况,避免不合理的默认值导致的错误。例如学生生日字段使用 DateTime? 可以避免默认值公元元年1月1日的问题。
5、可空引用类型
C# 8.0 引入了可空引用类型特性,通过改进的静态流分析、API 注解和变量注释来最小化运行时 NullReferenceException 的发生。编译器在编译时跟踪每个表达式的 null 状态,帮助识别潜在的空引用错误。
1181

被折叠的 条评论
为什么被折叠?



