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 を押し、次の行に進む前にローカル変数の値を確かめましょう。