2015-12-03 14 views
6
var result = myObject?.GetType(); 

このシナリオでは、myObjectがnullの場合の結果はどのような値になりますか?参照型であるため、nullが返され、resultはタイプTypeのものであると推測されますGetType戻りType、:あなたのオブジェクトは、デフォルトobject.GetType定義を隠していないと仮定すると、C#6 null伝播オブジェクトがnullの場合に設定される値

+3

試してみてください。 – MickyD

+1

[C#6の新機能](https://www.simple-talk.com/dotnet/.net-framework/whats-new-in-c-6/)に関する記事をご覧ください。そこに私はカーテンの後ろに起こっていることを示します。 –

答えて

9

。あなたのオブジェクトがobject.GetTypeを隠すない方法を持っている場合

することは、それはまた、nullを返しますが、resultのために推論種類が変更される可能性があります:それは値型を返す場合、そのメソッドの戻りタイプTResult、またはNullable<TResult>を参照する場合、それはTResultのどちらかになりますタイプTResultです。

6

オペレータがオペレータの短絡を引き起こすため、結果はnullになるはずです。

関連する問題