哪个代码段会提供更好的性能?以下代码段是用C#编写的.
1.
for(int counter=0; counter<list.Count; counter++)
{
list[counter].DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
2.
foreach(MyType current in list)
{
current.DoSomething();
}
Run Code Online (Sandbox Code Playgroud) 在C#和Java中循环的酷炫方式似乎是使用foreach而不是C style for循环.
我有理由比C风格更喜欢这种风格吗?
我对这两种情况特别感兴趣,但请解决您需要解决的问题.
这个问题源于我在foreach
循环上问我最后一个问题的原因.我有一个大字符串数组(比如成千上万),我想迭代数组,并且能够根据某个条件突破,我需要最佳性能.
一些示例代码:
for(int i = 0; i < array.length && flag == true; i++){
//Processing and set flag
}
//..or
foreach(string item in array){
//processing...set flag
if(!flag)
break;
}
Run Code Online (Sandbox Code Playgroud)
哪种方式会更便宜?