什么是C#中最高效的循环?

13 浏览
0 Comments

什么是C#中最高效的循环?

在C#中,可以通过多种不同的方式完成对对象中的项目进行简单循环。这让我想知道是否有任何原因,无论是性能还是易用性方面,选择其中一种方法而不是其他方法。或者这只是个人偏好的问题。

以一个简单的对象为例

var myList = List;

假设对象已经填充好了,我们想要遍历项目。

方法1:

foreach(var item in myList)
{
   //执行操作
}

方法2:

myList.Foreach(ml =>
{
   //执行操作
});

方法3:

while (myList.MoveNext())
{
  //执行操作
}

方法4:

for (int i = 0; i < myList.Count; i++)
{
  //执行操作
}

我想知道的是,这四种方法是否都编译成相同的结果?在使用其中一种方法时是否有明显的性能优势?还是这只是在编码时个人偏好的问题?我有没有漏掉其他方法?

0