【问题标题】:Short cut for a check for null and assigning a value to it if it is?检查 null 并为其赋值的捷径?
【发布时间】:2020-04-05 14:00:19
【问题描述】:

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

if (App.selectedPhrases == null)
    App.selectedPhrases = App.DB.GetSelectedPhrases();

【问题讨论】:

  • App.selectedPhrases ??= App.DB.GetSelectedPhrases();
  • google 的第一个结果:"C# 8.0 引入了空值合并赋值运算符 ??= 。您可以使用 ??= 运算符将其右侧操作数的值分配给其仅当左侧操作数的计算结果为 null 时才使用左侧操作数。" docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8

标签: c# c#-8.0 null-check


【解决方案1】:

是的,它叫Null-coalescing assignment

App.selectedPhrases ??= App.DB.GetSelectedPhrases();

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

【讨论】:

    【解决方案2】:
    App.selectedPhrases ??= App.DB.GetSelectedPhrases();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 2015-05-08
      • 1970-01-01
      相关资源
      最近更新 更多