var result = myObject?.GetType();
このシナリオでは、myObject
がnullの場合の結果はどのような値になりますか?参照型であるため、null
が返され、result
はタイプType
のものであると推測されますGetType
戻りType
、:あなたのオブジェクトは、デフォルトobject.GetType
定義を隠していないと仮定すると、C#6 null伝播オブジェクトがnullの場合に設定される値
var result = myObject?.GetType();
このシナリオでは、myObject
がnullの場合の結果はどのような値になりますか?参照型であるため、null
が返され、result
はタイプType
のものであると推測されますGetType
戻りType
、:あなたのオブジェクトは、デフォルトobject.GetType
定義を隠していないと仮定すると、C#6 null伝播オブジェクトがnullの場合に設定される値
。あなたのオブジェクトがobject.GetType
を隠すない方法を持っている場合
することは、それはまた、null
を返しますが、result
のために推論種類が変更される可能性があります:それは値型を返す場合、そのメソッドの戻りタイプTResult
、またはNullable<TResult>
を参照する場合、それはTResult
のどちらかになりますタイプTResult
です。
オペレータがオペレータの短絡を引き起こすため、結果はnull
になるはずです。
試してみてください。 – MickyD
[C#6の新機能](https://www.simple-talk.com/dotnet/.net-framework/whats-new-in-c-6/)に関する記事をご覧ください。そこに私はカーテンの後ろに起こっていることを示します。 –