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();
Когда я принимаю 4 результаты от stopwach1
и stopwach2
, stopwatch1
всегда имеет меньшее значение, чем stopwatch2
. Это означает, что addrange
всегда быстрее, чем foreach
.
Кто-нибудь знает, почему?