一个关于空条件的奇怪问题?

A strange question about Null-conditional?

环境:VS2017 v15.9.24,.net framework 2.0 c# 控制台项目。

这是一个非常简单的控制台项目,没有任何参考,所有代码都在program.cs:

namespace ConsoleApp1
{
    class Program
    {
        static void Main()
        {
            var b = new BClass { Prop = new object() };
            new AClass(b);
        }
    }

    public class AClass
    {
        BClass bClass;

        public AClass(BClass b)
        {
            bClass = b;

            var a1 = bClass;       // not null
            var a2 = bClass.Prop;  // not null
            var a3 = b?.Prop;      // not null
            var a4 = bClass?.Prop; // null, WHY???

            ; // set break point to here
        }
    }

    public class BClass
    {
        public object Prop { get; set; }
    }
}

A strange question about Null-conditional?

实际上,这个问题与旧的net framework 2.0有关。

我们也测试了您描述的相同问题。 因为我们不能在这里做任何事情,I have reported this issue on our DC Forum。看我的 link.

如果我没有详细说明问题,您可以在这里投票,添加任何详细信息或评论。

任何对这个问题感兴趣的人都会预览它然后投票它会引起 Microsoft.

的极大关注