C# 可空引用类型
学习C#可空引用类型,在编译时防止空引用异常 · 难度:入门 · +15XP
可空引用类型概述
C# 8 引入的可空引用类型(Nullable Reference Types)通过在编译时进行静态分析,帮助开发者避免 NullReferenceException。通过 ? 修饰符和编译器警告来标记可能为 null 的引用。
启用方式
#nullable enable
// 或项目文件中添加 enable 语法
| 声明 | 含义 |
|---|---|
| string name | 非空引用(不可为 null) |
| string? name | 可空引用(可为 null) |
示例
string nonNull = "Hello";
string? nullable = null;
// 编译器警告
// Console.WriteLine(nonNull.Length); // 安全
// Console.WriteLine(nullable.Length); // 警告:可能为 null
// 安全访问
if (nullable != null)
Console.WriteLine(nullable.Length);
// 空合并
int length = nullable?.Length ?? 0;
💡 练习提示:编写一个函数,接收可空字符串参数并返回其长度(如果为 null 则返回 0),使用 ?. 和 ?? 运算符。