Skip to content

ZH TW CSharp Nullability

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

null,可空型和檢查

手冊C# · 範例UO

T? 對於值類型不允許有任何值,例如 int?。引用類型上的可為空註解可以幫助編譯器找到對 null 的潛在引用;它們不會添加自動執行時間檢查。 ?. 執行條件訪問,?? 指定替換,??= 在null 下分配。

簡單範例 (Example.cs)

請將此範例另存為 Example.cs,並與本頁其他範例分開執行。

Example.cs:

// PROJECT-EXAMPLE
string? name = null;
System.Console.WriteLine(name ?? "Unknown");

結果:

Unknown
string? name = null;
string display = name ?? "unknown";
int length = name?.Length ?? 0;
UO.Print($"{display}: {length}");
int? amount = null;
amount ??= 1;
if (amount is int value)
{
    UO.Print(value.ToString());
}

! 運算子會抑制空解析警告,但不會阻止異常。對於可為 null 的值類型,請檢查 HasValue、使用通配符或 GetValueOrDefault。遺失的物件和數字零是不同的狀態。

官方文件:null,可空類型和檢查 - Microsoft 學習。

Clone this wiki locally