.NET Reflector 是否无法正确反映 null 合并运算符?

Is the .NET Reflector unable to reflect over the null-coalescing operator correctly?

这段代码是我写的:

private Queue<int> EnsureQueue()
{
    return _queue ?? (_queue = new Queue<int>(10));
}

反射器给我:

private Queue<int> EnsureQueue()
{
    if (this._queue == null)
    {
    }
    return (this._queue = new Queue<int>(10));
}

显然,这不是原始代码所说的。当行 (this._queue = new Queue<int>(10)); 不是 null.

时,它总是 return 一个 new Queue<int>(10) 而不是 _queue

这是 .NET Reflector 中的错误还是我遗漏了什么?该程序似乎运行正常...

编辑 -> 看我的回答

这是我的 Reflector 副本使用此方法的结果:

private Queue<int> EnsureQueue()
{
    return (this._queue ?? (this._queue = new Queue<int>(10)));
}

我觉得非常不错。 8.5.0.179版本,记得更新哦