foreach、in (C# 參考)
對於在陣列或物件集合中實作 System.Collections.IEnumerable 或 System.Collections.Generic.IEnumerable<T> 介面的每個項目,foreach 陳述式會重複內嵌陳述式群組。 foreach 陳述式是用來逐一查看集合,以取得所需的資訊,但是不能用來加入或移除來源集合的項目,以避免無法預期的副作用。 如果您必須加入或移除來源集合的項目,請使用 for 迴圈。
內嵌陳述式繼續執行在陣列或集合中的每個項目。 反覆查看項目完成在集合中的所有項目之後,程式控制權會轉移到 foreach 區塊之後的下一個陳述式。
您可以在 foreach 區塊內的任一位置使用 break 關鍵字中斷迴圈,或使用 continue 關鍵字跳至迴圈內的下一個反覆運算。
foreach 迴圈也可以由 goto、return 或 throw 陳述式結束。
如需 foreach 關鍵字及其程式碼範例的詳細資訊,請參閱下列主題:
HOW TO:使用 foreach 存取集合類別 (C# 程式設計手冊)
範例
下列程式碼顯示三個範例:
顯示陣列內容整數的一般 foreach 迴圈
執行相同的動作的 為 迴圈
維護項目數的計算陣列中的 foreach 迴圈
class ForEachTest
{
static void Main(string[] args)
{
int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
foreach (int element in fibarray)
{
System.Console.WriteLine(element);
}
System.Console.WriteLine();
// Compare the previous loop to a similar for loop.
for (int i = 0; i < fibarray.Length; i++)
{
System.Console.WriteLine(fibarray[i]);
}
System.Console.WriteLine();
// You can maintain a count of the elements in the collection.
int count = 0;
foreach (int element in fibarray)
{
count += 1;
System.Console.WriteLine("Element #{0}: {1}", count, element);
}
System.Console.WriteLine("Number of elements in the array: {0}", count);
}
// Output:
// 0
// 1
// 1
// 2
// 3
// 5
// 8
// 13
// 0
// 1
// 1
// 2
// 3
// 5
// 8
// 13
// Element #1: 0
// Element #2: 1
// Element #3: 1
// Element #4: 2
// Element #5: 3
// Element #6: 5
// Element #7: 8
// Element #8: 13
// Number of elements in the array: 8
}
C# 語言規格
如需詳細資訊,請參閱 C# 語言規格。語言規格是 C# 語法和用法的限定來源。