C# 中的 foreach 迴圈遍歷項目集合(可以是陣列或清單),在執行 forloop 時,它會在項目集合上執行程式碼區塊,它會遍歷集合中的項目,最後顯示一個一個。
文法:
foreach(dataType variableName in collection variable) { // codeblock }
在上面的語法中,variableName 保存集合中的當前元素,集合變數定義了實作 IEnumerable 介面的資料結構,它具有要迭代並一一顯示的列表項目的集合。 codeBlock 包含要在迴圈中執行的邏輯。
讓我們來看看foreach循環過程的流程,
foreach迴圈的工作過程是迭代集合中的元素,而使用foreach迴圈時必須將語句括在大括號{}中。當聲明循環計數器變數的變數時,我們可以宣告與陣列的基本類型相同的類型。
範例:
foreach(int items in arrayValues) { Console.WriteLine(items); }
關鍵字用於 foreach 迴圈中迭代項目,關鍵字每次都會從迭代中選擇項目並將其儲存在變數元素中。在第一次迭代中,迭代的起始項儲存在一個元素中,在第二次迭代中,將選擇下一個元素,依此類推。 foreach 迴圈將依照陣列或清單中元素的數量執行。
我們來看看for迴圈和foreach迴圈的差別,
在 foreach 迴圈中,您也可以看到我們可以藉助 goto、return、break 和 throw 語句來停止和退出迴圈的程式碼片段。讓我們來看看當數字等於 12 時程式碼將退出執行的範例。
using System; class Program { static void Main(string[] args) { Console.WriteLine("foreach loop Sample!"); int[] oddArray = new int[] { 2,4,6,8,10,12,14,16,18,20 }; // Loop through array items foreach (int num in oddArray) { Console.WriteLine(num); // it don't read the number after 12 if (num == 12) break; } Console.ReadKey(); } }
for循環中的另一個範例,如果您需要在字串中尋找字符,我們可以使用foreach 循環來一次驗證字串中的一個字符,它從字串中建立一個字元數組並僅讀取一個字元同時它也確保省略字元之間的空格。
// Reads one character at a time and it skips the process if space comes string data = "C# Programming"; // it convert the string into an array of chars char[] _array = data .ToCharArray(); // display one char at a time foreach (char item in _array) { if (item.ToString() != " ") Console.WriteLine(item); }
它顯示了使用foreach循環在字串中進行集合它查找字串中某個字元出現的次數,
string _string = "Latest C# Programming :Language"; char[] _charArray = _string.ToCharArray(); int _count = 0; // Loop through chars and find all 'n' and count them foreach (char item in charArray ) { if (item == 'a') _count++; } Console.WriteLine($"Total n found {_count}");
在此範例中,使用 foreach 循環,它建立一個字串數組,一次讀取並顯示每個字串。
// Array of name list in string string[] nameList = new string[] { "Chand", "Leo", "Smith", "Allen", "Rick" }; // Loop through array and read all authors foreach (string item in nameList ) { Console.WriteLine(item ); }
讓我們看看 foreach 迴圈的程式範例,以下程式使用 foreach 迴圈來顯示陣列元素的迭代。
代碼:
using System; class Program_1 { // Main Method public static void Main(string[] args) { Console.WriteLine("Display Elements"); // creating an array char[] _arrayList={'L','O','O','P','I','N','G'}; // it execute the loop till the last appearance of element in the array foreach(char items in _arrayList) { Console.WriteLine(items); } } }
輸出:
代碼:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Program_2 { class Program_2 { static void Main(string[] args) { string[] data = new string[5]; // declaring array //Storing value in array element data[0] = "Java"; data[1] = "DotNet"; data[2] = "PHP"; data[3] = "SQL SERVER"; data[4] = "ANDROID"; //retrieving value using foreach loop foreach (string items in data) { Console.WriteLine("Welcome " + items); } //Console.ReadLine(); } } }
輸出:
如上面 foreach 與數組的範例一樣,我們可以使用帶有列表物件的循環來存取列表物件中的元素。讓我們來看看以下使用 foreach 迴圈迭代列表元素的範例。
代碼:
using System; using System.Collections.Generic; namespace Program_3 { class Program_3 { static void Main(string[] args) { List<string> nameList = new List<string>() { "Smith", "Steve", "Gates" }; foreach (string name in name list) { Console.WriteLine(name); } Console.WriteLine("Press Enter Key to Exit.."); } } }
輸出:
代碼:
using System; class Program_4 { // Main Method public static void Main(String[] arg) { { int[] codes = { 135, 142, 75, 106, 100 }; int newCodes = HighestCodes(codes); Console.WriteLine("New Code is " + newCodes); } } // method to find HighestCodes public static int HighestCodes(int[] values) { int _num = values[0]; // for each loop foreach (int item in values) { if (item > _num) { _num = item; } } return _num; } }
輸出:
在本文的最後,您了解了 foreach 迴圈的工作原理以及如何從陣列集合中存取值,並且還分析了語法、流程圖以便於理解。我希望您已經理解了有關循環的文章。
以上是C# foreach 循環的詳細內容。更多資訊請關注PHP中文網其他相關文章!