Gelung foreach dalam C# berulang melalui koleksi item ia mungkin tatasusunan atau senarai, ia melaksanakan blok kod pada koleksi item apabila melaksanakan forloop ia melalui item dalam koleksi dan akhirnya ia memaparkan satu demi satu satu.
Sintaks:
foreach(dataType variableName in collection variable) { // codeblock }
Dalam pembolehubah sintaks di atasName memegang elemen semasa dalam koleksi, pembolehubah koleksi mentakrifkan struktur data yang melaksanakan antara muka IEnumerable yang mempunyai koleksi item senarai untuk diulang dan dipaparkan satu demi satu. CodeBlock mengandungi logik yang akan dilaksanakan dalam gelung.
Mari kita lihat aliran proses gelung foreach,
Proses kerja gelung foreach ialah ia berulang melalui elemen dalam koleksi semasa menggunakan gelung foreach adalah wajib untuk menyertakan pernyataan dalam pendakap kerinting {}. Apabila mengisytiharkan pembolehubah pembolehubah pembilang gelung kita boleh mengisytiharkan jenis yang sama dengan jenis asas tatasusunan.
Contoh:
foreach(int items in arrayValues) { Console.WriteLine(items); }
Kata kunci digunakan dalam gelung foreach untuk mengulang item, kata kunci memilih item daripada lelaran pada setiap kali dan ia disimpan dalam elemen pembolehubah. Dalam lelaran pertama, item permulaan lelaran disimpan dalam elemen dan pada lelaran kedua, elemen seterusnya akan dipilih dan seterusnya. Gelung foreach akan dilaksanakan sama dengan bilangan elemen dalam tatasusunan atau senarai.
Mari kita lihat perbezaan antara gelung for dan foreach seperti berikut,
Dalam gelung foreach, anda juga boleh melihat coretan pengekodan di mana kita boleh berhenti dan keluar dari gelung dengan bantuan menggunakan pernyataan goto, return, break dan throw. Mari lihat contoh di mana kod itu akan berhenti daripada pelaksanaan apabila nombornya bersamaan dengan 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(); } }
Contoh lain dalam forloop, jika anda perlu mencari aksara dalam rentetan, kita boleh gunakan gelung foreach untuk ini mengesahkan satu aksara pada satu masa dalam rentetan, ia mencipta tatasusunan aksara daripada rentetan dan membaca hanya satu aksara pada satu-satu masa ia juga memastikan ruang kosong antara aksara ditinggalkan.
// 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); }
Ia menunjukkan bahawa penggunaan gelung foreach untuk pengumpulan dalam rentetan ia mencari bilangan kemunculan aksara dalam rentetan,
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}");
Dalam contoh ini menggunakan gelung foreach, ia mencipta tatasusunan rentetan yang membaca dan memaparkan setiap rentetan satu demi satu.
// 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 ); }
Mari lihat contoh atur cara untuk gelung foreach, atur cara berikut menggunakan gelung foreach untuk menunjukkan lelaran melalui elemen tatasusunan.
Kod:
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); } } }
Output:
Kod:
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(); } } }
Output:
Seperti contoh di atas untuk tatasusunan, kita boleh menggunakan gelung dengan objek senarai untuk mengakses elemen dalam objek senarai. Mari lihat contoh berikut menggunakan gelung foreach untuk mengulang melalui elemen senarai.
Kod:
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.."); } } }
Output:
Kod:
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; } }
Output:
Pada penghujung artikel ini, anda telah mempelajari tentang cara gelung foreach berfungsi dan cara mengakses nilai daripada koleksi tatasusunan dan juga kami menganalisis sintaks, carta alir untuk pemahaman yang mudah. Saya harap anda telah memahami artikel tentang gelung.
Atas ialah kandungan terperinci C# untuk Gelung. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!