我编写了以下代码来打印列表中的项目值。现在我想测量哪一个更快,我将有大量的清单来处理。请说明为什么你认为这更好(如果有任何证据)
那么我该如何计算处理时间?手动创建一个庞大的列表是唯一的选择吗?
public void printMedod(string strPrintListVal)
{
Console.WriteLine(strPrintListVal);
}
static void Main(string[] args)
{
Program p1 = new Program();
List<string> listString = new List<string> { "Rox","Stephens","Manahat","Lexus",":)"};
listString.ForEach(p1.printMedod);
Console.ReadKey();
}
我也可以使用GetEnumerator做同样的事情:
static void Main(string[] args)
{
List<string> listString = new List<string> { "Rox","Stephens","Manahat","Lexus",":)"};
var enumerator = listString.GetEnumerator();
while (enumerator.MoveNext())
{
var pair = enumerator.Current;
Console.WriteLine(pair);
}
Console.ReadKey();
}
答案 0 :(得分:5)
我ForEach
通过列表,但我被告知for循环比其他任何东西都要快:
for(int i = 0;i < stringList.Length; i++)
{
Console.WriteLine(stringList[i]);
}
答案 1 :(得分:3)
您可以使用LinqPad,它会显示执行时间
答案 2 :(得分:1)
这里也不是最好的选择,只需做
static void Main(string[] args)
{
var stringList = new List<string>
{ "Rox", "Stephens", "Manahat", "Lexus", ":)" };
foreach(var s in stringList)
{
Console.WriteLine(s);
}
Console.ReadKey();
}
修改强>
中使用question个更多信息using System.Diagnotics;
var stopWatch = new StopWatch();
stopWatch.Start();
// Do somthing
// If somthing is really fast do lots of somthing
stopWatch.Stop();
// The duration is a TimeSpan in stopWatch.Elapsed;