ホームページ  >  記事  >  バックエンド開発  >  C# foreach ループ

C# foreach ループ

WBOY
WBOYオリジナル
2024-09-03 15:11:22858ブラウズ

C# の foreach ループは、配列またはリストである可能性のある項目のコレクションを繰り返し処理します。forloop の実行時に項目のコレクションに対してコード ブロックが実行され、コレクション内の項目を通過し、最後に 1 つずつ表示されます。 1 つ。

構文:

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

上記の構文では、variableName はコレクション内の現在の要素を保持します。コレクション変数は、反復処理されて 1 つずつ表示されるリスト項目のコレクションを持つインターフェイス IEnumerable を実装するデータ構造を定義します。 codeBlock には、ループ内で実行されるロジックが含まれています。

フローチャート

foreach ループ処理の流れを見てみましょう。

C# foreach ループ

C# の foreach ループはどのように機能しますか?

foreach ループの作業プロセスでは、コレクション内の要素を反復処理しますが、foreach ループを使用する場合はステートメントを中括弧 {} で囲むことが必須です。ループカウンター変数の変数を宣言する場合、配列の基本型と同じ型を宣言できます。

例:

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

キーワードは項目を反復するために foreach ループで使用され、キーワードは毎回の反復から項目を選択し、変数要素に保存します。最初の反復では、反復の開始項目が要素に保存され、2 番目の反復では次の要素が選択されます。 foreach ループは、配列またはリスト内の要素の数と同じ数だけ実行されます。

次のように for ループと foreach ループの違いを見てみましょう。

  • foreach ループは、配列内のすべての要素が存在するまでステートメントのブロックを実行します。一方、for ループは、指定された条件が false になるまでステートメントのブロックを実行します。
  • foreach ループでは配列を順方向にのみ繰り返しますが、for ループでは順方向と逆方向の両方を繰り返します。
  • 変数宣言では、foreach には 5 つの型があり、for ループには 3 つの型宣言があります。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 ループを使用して文字列内の文字を一度に 1 文字ずつ確認します。文字列から文字の配列を作成し、1 文字だけを読み取ります。同時に、文字間の空白も確実に省略されます。

// 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 ループを使用して、すべての文字列を一度に 1 つずつ読み取って表示する文字列の配列を作成します。

// 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。