cake.frosting.berries.loader
など、深くネストされたプロパティを処理するには、従来の if
ステートメントを使用した面倒な null チェックが必要になることがよくあります。 このアプローチは面倒で非効率的です。 より洗練されたソリューションが必要です。
C# 6 と Visual Studio 2015 では ?.
演算子が導入され、深い null チェックのための簡潔なソリューションが提供されました。
<code class="language-csharp">cake?.frosting?.berries?.loader</code>
この演算子は、ショートサーキット null チェックを自動的に組み込み、明示的な null チェックを行わずにネストされたプロパティのシームレスな走査を可能にします。
?.
演算子は言語機能として表示されますが、Roslyn コンパイラ拡張メソッドとして実装されます。 コンパイル中に、ネストされた if
ステートメントと同等のものが効果的に生成されます。
<code class="language-csharp">if (cake != null) { if (cake.frosting != null) { if (cake.frosting.berries != null) { // Your code here... } } }</code>
?.
オペレーター?.
演算子は大幅な改善を提供します:
C# 6 および Visual Studio 2015 の ?.
演算子は、深い null チェックの課題に対する強力かつエレガントなソリューションを提供します。 これにより、コードが簡素化され、可読性が向上し、複雑なオブジェクト構造を扱う際の開発者の全体的な効率が向上します。
以上がC# でディープ Null チェックを簡素化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。