.NET a
コードが、現在値を保持している参照変数のメンバー(プロパティ、メソッドなど)にアクセスしようとすると発生します。 これは通常、変数が初期化されていない場合、またはメソッドがNullReferenceException
を予期せず返したときに発生します。
null
null
nullReferenceExceptionsにつながる一般的なシナリオ:
非初期化された変数:
null
objectA.objectB.propertyC
objectA
objectB
戦略的ブレークポイント:null
コードのキーポイントで実行を一時停止して、変数値を検査し、リファレンストラッキング:IDEの「すべての参照を見つける」機能を使用して、コード全体で変数がどのように使用されるかをトレースし、潜在的な問題を特定するのに役立ちます。
null
1。明示的なnullチェック:2。デフォルト値:
参照が:になる場合にデフォルト値を提供します
null
3。カスタムの例外:
void PrintName(Person p) { if (p != null) Console.WriteLine(p.Name); }
潜在的な値を処理します:
null
4。 null-conditional演算子(
string GetCategory(Book b) { return b?.Category ?? "Unknown"; //Null-conditional operator and null-coalescing operator }
これらの演算子は、簡潔なヌルチェックを提供します:
null
string GetCategory(string bookTitle) { var book = library.FindBook(bookTitle); if (book == null) throw new BookNotFoundException(bookTitle); return book.Category; }
nullコンテキスト機能を活用して、コンパイル時間でより厳格なnullチェックを実施します。
?.
?[]
追加の考慮事項:
FirstOrDefault()
とSingleOrDefault()
に注意してください。
null
GetValueOrDefault()
イベント:以上がnullReferenceExceptionsの原因は何ですか?また、.NETでどのように回避できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。