循环风格
而
最琐碎的循环类型。唯一的缺点是没有内在的线索知道你在循环中的位置。
/// loop while the condition satisfies
while(condition)
{
/// do something
}
做
与 while
类似,但是在循环结束时而不是在开始时评估条件。这导致至少执行一次循环。
do
{
/// do something
} while(condition) /// loop while the condition satisfies
对于
另一种琐碎的循环风格。循环索引(i
)会增加,你可以使用它。它通常用于处理数组。
for ( int i = 0; i < array.Count; i++ )
{
var currentItem = array[i];
/// do something with "currentItem"
}
foreach
循环通过 IEnumarable
对象的现代化方式。好的事情是你不必考虑项目的索引或列表的项目计数。
foreach ( var item in someList )
{
/// do something with "item"
}
Foreach 方法
虽然其他样式用于选择或更新集合中的元素,但此样式通常用于立即为集合中的所有元素调用方法。
list.ForEach(item => item.DoSomething());
// or
list.ForEach(item => DoSomething(item));
// or using a method group
list.ForEach(Console.WriteLine);
// using an array
Array.ForEach(myArray, Console.WriteLine);
重要的是要注意,此方法仅在 List<T>
实例上可用,并且作为 Array
上的静态方法 - 它不是 Linq 的一部分。
Linq Parallel Foreach
就像 Linq Foreach 一样,除了这个以平行方式完成工作。这意味着集合中的所有项目将同时运行给定的操作。
collection.AsParallel().ForAll(item => item.DoSomething());
/// or
collection.AsParallel().ForAll(item => DoSomething(item));