I've looked around a bit but haven't been able to find an answer to how the new C# 6.0 compiler breaks down the new null propagation command for something such as the following:
BaseType myObj = new DerivedType();
string myString = (myObj as DerivedType)?.DerivedSpecificProperty;
What I want to know is how exactly it handles this.
Does it cache the as
cast into a new DerivedType
variable (i.e., this is just syntactical sugar for an as
cast followed by an null comparison).
Or if it actually as
cast it, check for null, then if not null, recast and keep going.