メソッドの引数が null であるかどうかをチェックする (その後、例外をスローする) ことに慣れているので、もうそれについて考えることさえほとんどありません。引数が参照型の場合は、そこにあります。
if(arg == null)
throw new ArgumentNullException(nameof(arg));
しかし、arg をすぐに使用する場合はどうすればよいでしょうか。とにかくチェックする必要がありますか?つまり、そうしないと、とにかく環境がスローされます (NullReferenceException)。
例えば:
public int DoStuff(object o)
{
return o.GetHashCode();
}
null チェックを簡単に追加できます。
public int DoStuff(object o)
{
if(o == null)
throw new ArgumentNullException(nameof(o));
return o.GetHashCode();
}
ただし、どちらの場合も例外がスローされます (デバッグ目的で、ほぼ同じ行で)。唯一の違いはタイプです。
質問:単一の参照型引数を持つパブリックメソッドで、引数をすぐに使用する場合でも、それが であるかどうかを確認する必要がありますか?null