可能性の重複をチェックします:C#の:正気ではラインのノイズを低減するには
:if (foo != null && foo.bar != null && foo.bar.baz != null && foo.bar.baz.bat != null) { var bat = foo.bar.baz.bat; bat.cat = 5; bat.dog = 6; }
Shortcut for “null if object is null, or object.member if object is not null”
私はC#でテストシンプルなのこのタイプを作るための方法があった希望します
これをサポートする可能性のある機能の1つは、新しい変数宣言をサポートする文
if (foo != null &&
(var bar = foo.bar) != null &&
(var baz = bar.baz) != null &&
(var bat = baz.bat) != null)
{
bat.cat = 5;
bat.dog = 6;
}
提案された解決法が実際にはこの例ではもっと長くなっているので、ここでの利得は明らかではないかもしれません。しかし、より長い名前でそれは本当に報いるでしょう。
これを行うにはもっと良い方法はありますか?このような提案が実際に将来のバージョンの言語になる可能性があります(Eric Lippertに電話してください)。
あなたはそのようなドット演算子を介して4つのレベルの深さに行く必要があるあなたのデザインを再訪するのは良い時かもしれません。これは一度にすべてを通過する間接指示のレベルです。 –
あなたの質問は何ですか? StackOverflowは.NET機能のウィッシュリストではありません。 http://connect.microsoft.comサイトを使用して、Microsoftに直接機能を要求してください。 –
さて、あなたはtryでラップしてNullReferenceExceptionをキャッチすることができますが、手動でヌルチェックを実行するよりもはるかに遅いと思われます。 –