.NETのnullReferenceException:包括的なガイド
.NET開発では、現在nullであるオブジェクトのメンバー(プロパティ、メソッドなど)にアクセスしようとすると、恐ろしいが発生します。つまり、有効なオブジェクトインスタンスを指し示していません。これは一般に、無知の変数または意図的なヌルの割り当てが原因で発生します。
NullReferenceException
1。プロアクティブなヌルチェック:
if
参照がnull。
??
を使用して、非ヌルの参照が予期せずnullであることが判明した場合にデバッグ中に実行を停止します。GetValueOrDefault()
Debug.Assert()
Debug.Assert()
および):これらの演算子はメンバーに安全にアクセスし、ベースオブジェクトがnullの場合はnullを返し、例外を防止します。
?.
nullコンテキスト(c#8):?[]
より厳格なnullabilityチェックを実施し、潜在的なヌル参照の検出を改善します。
string? myString
すべての参照を見つける:変数のすべての使用法を見つけて、nullに設定される可能性のある場所を追跡します。
as
オペレーター:as
は、故障したキャストでnullを返すことを忘れないでください。例外を避けますが、nullチェックが必要です。
FirstOrDefault()
は、空の結果を優雅に処理するため、linqクエリのSingleOrDefault()
およびFirst()
に代わるより安全な代替品です。
Single()
foreach
。
foreach
以上が.NETでnullReferenceExceptionの原因は何ですか、そしてそれをどのように回避できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。