数か月前、私はC と C++ について同様の質問をしましたが、最近は "Windows Phone" のことで C# にもっと注意を払っています。
では、C# では、わざわざメソッド境界で NULL をチェックする必要があるでしょうか? これは C や C++ とは異なると思います。なぜなら、C# では通常、特定の参照が有効かどうかを判断できるためです。コンパイラは、初期化されていない参照がどこにも渡されないようにするため、残っている唯一の間違いは、それが null になることです。 . さらに、これらのことに対して .NET Framework 内で定義された特定の例外ArgumentNullExceptionがあり、無効な null が渡されたときにプログラマーが受け取るべきだと考えるものを成文化しているようです。
私の個人的な意見は、これを行う呼び出し元は壊れているということです。その呼び出し元は、日の終わりまで NRE をスローする必要があります。ただし、これについては、ネイティブ コードの世界にいるときよりも確信が持てません。この点で、C# は、C や C++ と比較して、場所によってかなり異なるプログラミング スタイルを持っています。
では... C# メソッドの null パラメーターを確認する必要がありますか?