迴圈風格
而
最瑣碎的迴圈型別。唯一的缺點是沒有內在的線索知道你在迴圈中的位置。
/// 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));