相关疑难解决方法(0)

为什么不对字段优化的简单属性?

sealed class A
{
    public int X;
    public int Y { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果我创建一个新的A实例,它需要大约550ms才能访问Y 100,000,000次,而访问X大约需要250ms.我将它作为发布版本运行,它对于该属性来说仍然要慢得多.为什么.NET不优化Y到字段?

编辑:

    A t = new A();
    t.Y = 50;
    t.X = 50;

    Int64 y = 0;

    Stopwatch sw = new Stopwatch();
    sw.Start();

    for (int i = 0; i < 100000000; i++)
        y += t.Y;

    sw.Stop();
Run Code Online (Sandbox Code Playgroud)

那是我用来测试的代码,我正在改变tY到tX来测试X. 我也在发布版本中.

.net c#

5
推荐指数
2
解决办法
1881
查看次数

标签 统计

.net ×1

c# ×1