相关疑难解决方法(0)

为什么创建一个内联初始化的数组这么慢?

为什么内联数组初始化比迭代这样慢得多?我运行这个程序来比较它们,单个初始化比使用for循环这样做要花费很多倍.

这是我写的LinqPad测试程序.

var iterations = 100000000;
var length = 4;

{
    var timer = System.Diagnostics.Stopwatch.StartNew();

    for(int i = 0; i < iterations; i++){
        var arr = new int[] { 1, 2, 3, 4 };
    }
    timer.Stop();
    "Array- Single Init".Dump();
    timer.Elapsed.Dump();
}

{
    var timer = System.Diagnostics.Stopwatch.StartNew();

    for(int i = 0; i < iterations; i++){
        var arr = new int[length];
        for(int j = 0; j < length; j++){
            arr[j] = j;
        }
    }
    timer.Stop();
    "Array- Iterative".Dump();
    timer.Elapsed.Dump(); …
Run Code Online (Sandbox Code Playgroud)

.net c# arrays performance initialization

35
推荐指数
2
解决办法
1995
查看次数

标签 统计

.net ×1

arrays ×1

c# ×1

initialization ×1

performance ×1