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();
當我從stopwach1
和stopwach2
結果,stopwatch1
具有比stopwatch2
總是較低的值。這意味着addrange
總是比foreach
更快。 有誰知道爲什麼?爲什麼AddRange比使用foreach循環更快?
我總是用'反射器'代碼來回答問題。 ** + 1 ** – gdoron 2012-03-25 07:23:20