Why does Resharper Recommend foreach Instead of for Loop?
Microsoft文档:"代码审阅:.NET应用程序性能"(http://msdn.microsoft.com/en-us/library/ff647802.aspx)建议使用"for"循环,而不是foreach循环来提高性能。
Do You Use foreach?
Using foreach can result in extra overhead because of the way
enumeration is implemented in .NET Framework collections. .NET
Framework 1.1 collections provide an enumerator for the foreach
statement to use by overriding the IEnumerable.GetEnumerator.
...
Consider using a for loop instead of foreach to increase performance for iterating through .NET Framework collections that can be indexed with an integer.
号
每次用户在循环中单击网格中的一行时,我的应用程序都会进行昂贵的调用。将浮点值转换为监视器中显示的颜色大约需要200万次迭代。
我不确定用for循环代替foreach循环,因为resharper在每个for循环中都会发出警告,而for循环可以转换为foreach循环。
1。为什么Resharper建议foreach而不是for loop?2。循环使用安全吗?
因为您提到了大量迭代的性能问题——是的,
注意,
- 性能更快!
- foreach它可以用作强类型集合以简单的方式!
- 每一个你都能解决所有的索引问题等。
我认为这是因为与
定义"安全"。只要在可索引集合(array,list…)中迭代,