重要な C# トピック

C#のnull許容参照型

このレッスンでは、null許容参照型を使い、null値になりうる場所をコンパイラに見つけてもらいます。

はじめに

NullReferenceExceptionは、null値を持つ変数にアクセスしたときに起こるエラーで、最もよくあるエラーの1つです。C#では、string?のように?を付けて、nullになってよい変数をはっきり示せます。そうすると、nullチェックをせずにその変数を使ったとき、コンパイラが警告してくれます。

変数nicknameの型はstring?なので、null値を持てます。演算子??(null合体演算子)はnicknameがnullなら"Anonymous"を返すので、displayNameは常に値を持ち、Lengthへのアクセスは安全です。表示される結果はAnonymous (9)です。

実行できる C# の例

C#
コードを実行 →
Program.cs
using System;

class Program
{
    static void Main()
    {
        string? nickname = null;
        string displayName = nickname ?? "Anonymous";
        Console.WriteLine($"{displayName} ({displayName.Length})");
    }
}
実行結果
Anonymous (9)

デバッガーで練習する

大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。