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中文网其他相关文章!