检查 null 并为其分配值(如果是)的快捷方式?

Ala*_*an2 1 c# null-check c#-8.0

有了新的 C# 8 功能,现在对于这个代码结构有一个捷径:

if (App.selectedPhrases == null)
    App.selectedPhrases = App.DB.GetSelectedPhrases();
Run Code Online (Sandbox Code Playgroud)

Sal*_*ari 6

是的,它被称为空合并分配

App.selectedPhrases ??= App.DB.GetSelectedPhrases();
Run Code Online (Sandbox Code Playgroud)

C# 8.0 引入了空合并赋值运算符 ??=。仅当左侧操作数的计算结果为 null 时,您才可以使用 ??= 运算符将其右侧操作数的值分配给其左侧操作数。