相关疑难解决方法(0)

为什么AddRange比使用foreach循环更快?

var fillData = new List<int>();
for (var i = 0; i < 100000; i++)
{
     fillData.Add(i);
}

var stopwatch1 = new Stopwatch();
stopwatch1.Start();
var autoFill = new List<int>();
autoFill.AddRange(fillData);
stopwatch1.Stop();

var stopwatch2 = new Stopwatch();
stopwatch2.Start();
var manualFill = new List<int>();
foreach (var i in fillData)
{
    manualFill.Add(i);
}
stopwatch2.Stop();
Run Code Online (Sandbox Code Playgroud)

当我把4个结果从stopwach1stopwach2,stopwatch1具有比始终较低值stopwatch2.这意味着addrange总是快于foreach.有谁知道为什么?

.net c# c#-4.0

56
推荐指数
5
解决办法
3万
查看次数

标签 统计

.net ×1

c# ×1

c#-4.0 ×1