while(s != "0") {
Person p = new Person(10000000);
Console.WriteLine("for(int i=0;i for(int i = 0; i < p.Child.Alias.Length; i++) { } Console.WriteLine("Ending.\nTime is : " + (l2 - l1).ToString()); Console.WriteLine("for(int i=0,n=lenArray.length;i long l3 = DateTime.Now.Ticks; } 其中数据量越大,类越大,差别越明显。 结论:影响应该在,变量在每次循环都要访问下一级变量的原因。如果只是简单的a.length可能编译器对这样的循环操作有优化,将a.length保存到了内存或一个比内存更块的地方,而多级就没有这么幸运了。
long l1 = DateTime.Now.Ticks;
//Console.Write(lenArray[i]);
long l2 = DateTime.Now.Ticks;
for(int i = 0, n = p.Child.Alias.Length; i < n; i++) {
//Console.Write(lenArray[i]);
long l4 = DateTime.Now.Ticks;
Console.WriteLine("Ending.\nTime is : " + (l4 - l3).ToString());
s = Console.ReadLine();
}
Console.Read();
}
}
我们都知道for(int i=0;i