ヌルチェックヌル伝播演算子(?。)

「ヌル伝播演算子」、「C#Essentials」ではヌル条件演算子として変換されます。

値がnullのメソッドを呼び出すと、実行時にSystem.NullReferenceException例外がスローされます。これは通常、プログラムロジックにエラーがあることを示します。メンバーを呼び出す前にnull値をチェックするこのパターンの頻度が高いことを考えると、C#6.0ではより単純化されたnull条件演算子?..が導入されました。

null条件演算子は、メソッドまたはプロパティを呼び出す前にオペランドがnullかどうかをチェックし、nullの場合、メソッドグループは実行されません。

 private bool IsOk(List<int> rooms)
 {
     return rooms.Count > 0;
 } 

上記の部屋が空の場合、例外が報告されます。

空の処理を行うには:

    private bool IsOk(List<int> rooms)
    {
        if (rooms != null)
        {
            return rooms.Count > 0;
        }

        return false;
    }

「null-propagation演算子」を使用して、次のように記述します。

 private bool IsOk(List<int> rooms)
 {
     return rooms?.Count > 0;
 } 

例二:

A?.Invoke("Hehe");

上記の例は、

if(A == null)
{
   //不执行
}
else
{
   A.Invoke("Hehe");
}

おすすめ

転載: blog.csdn.net/qq_42672770/article/details/123919257