Short answer: source.x
'sort' null.
To see this, change the code as follows:
public static bool IsNull_exception(dynamic source)
{
var h = source.x;
Console.WriteLine(object.ReferenceEquals(null, h));
Console.WriteLine(null == h);
Console.WriteLine(object.Equals(h, null));
Console.WriteLine(h == null);
if (source.x?.y == null) return true;
return false;
}
, false
, true
. , , dynamic
, , object.Equals
.. . @dbc .
, , ( null h == null
).
, IsNull_yes
-
- :
public static bool IsNull_yes(dynamic source)
{
if (null == source.x || source.x.y == null) return true;
return false;
}
(.. ).