首頁  >  文章  >  後端開發  >  C# foreach 循環

C# foreach 循環

WBOY
WBOY原創
2024-09-03 15:11:22841瀏覽

C# 中的 foreach 迴圈遍歷項目集合(可以是陣列或清單),在執行 forloop 時,它會在項目集合上執行程式碼區塊,它會遍歷集合中的項目,最後顯示一個一個。

文法:

foreach(dataType variableName in collection variable)
{
// codeblock
}

在上面的語法中,variableName 保存集合中的當前元素,集合變數定義了實作 IEnumerable 介面的資料結構,它具有要迭代並一一顯示的列表項目的集合。 codeBlock 包含要在迴圈中執行的邏輯。

流程圖

讓我們來看看foreach循環過程的流程,

C# foreach 循環

C# foreach 迴圈如何運作?

foreach迴圈的工作過程是迭代集合中的元素,而使用foreach迴圈時必須將語句括在大括號{}中。當聲明循環計數器變數的變數時,我們可以宣告與陣列的基本類型相同的類型。

範例:

foreach(int items in arrayValues)
{
Console.WriteLine(items);
}

關鍵字用於 foreach 迴圈中迭代項目,關鍵字每次都會從迭代中選擇項目並將其儲存在變數元素中。在第一次迭代中,迭代的起始項儲存在一個元素中,在第二次迭代中,將選擇下一個元素,依此類推。 foreach 迴圈將依照陣列或清單中元素的數量執行。

我們來看看for迴圈和foreach迴圈的差別,

  • foreach 迴圈執行語句區塊,直到陣列中存在每個元素,而 for 迴圈執行語句區塊,直到給定條件變成 false。
  • 在 foreach 迴圈中,它只向前迭代數組,但在 for 迴圈中,它會向前和向後迭代。
  • 變數宣告中,foreach有五種類型,而for迴圈有三種類型宣告。 0

在 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 );
}

C# foreach 迴圈範例

讓我們看看 foreach 迴圈的程式範例,以下程式使用 foreach 迴圈來顯示陣列元素的迭代。

計畫#1

代碼:

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);
}
}
}

輸出:

C# foreach 循環

計畫#2

代碼:

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();
}
}
}

輸出:

C# foreach 循環

如上面 foreach 與數組的範例一樣,我們可以使用帶有列表物件的循環來存取列表物件中的元素。讓我們來看看以下使用 foreach 迴圈迭代列表元素的範例。

計畫#3

代碼:

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..");
}
}
}

輸出:

C# foreach 循環

節目#4

代碼:

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;
}
}

輸出:

C# foreach 循環

結論

在本文的最後,您了解了 foreach 迴圈的工作原理以及如何從陣列集合中存取值,並且還分析了語法、流程圖以便於理解。我希望您已經理解了有關循環的文章。

以上是C# foreach 循環的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:C# do-while 循環下一篇:C# do-while 循環