[C#] for文でのcontinueの使い方
C#のfor
文でcontinue
を使用することで、現在の反復処理をスキップし、次の反復処理に進むことができます。
continue
はループ内で特定の条件が満たされたときに、残りのコードを実行せずに次の反復に移行したい場合に便利です。
例えば、for
ループ内で特定の条件をチェックし、その条件が真であればcontinue
を使って次の反復に進むことができます。
これにより、不要な処理を避け、コードの効率を向上させることができます。
for文とcontinue文の組み合わせ
C#のプログラミングにおいて、for
文とcontinue
文を組み合わせることで、ループ処理をより柔軟に制御することができます。
continue
文は、ループ内で特定の条件が満たされた場合に、その後の処理をスキップして次のループの反復に進むために使用されます。
以下では、具体的な例を通じてその使い方を解説します。
continue文を使ったfor文の例
以下のコードは、1から10までの数字をループし、偶数をスキップして奇数のみを表示する例です。
using System;
class Program
{
static void Main()
{
// 1から10までの数字をループ
for (int i = 1; i <= 10; i++)
{
// 偶数の場合は次のループに進む
if (i % 2 == 0)
{
continue;
}
// 奇数を表示
Console.WriteLine(i);
}
}
}
1
3
5
7
9
この例では、continue
文を使って偶数の処理をスキップし、奇数のみを表示しています。
continue文で特定の条件をスキップする方法
continue
文を使用することで、特定の条件を満たす場合にその後の処理をスキップすることができます。
以下の例では、リスト内の負の数をスキップして正の数のみを合計します。
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> numbers = new List<int> { 1, -2, 3, -4, 5 };
int sum = 0;
// リスト内の数字をループ
for (int i = 0; i < numbers.Count; i++)
{
// 負の数の場合は次のループに進む
if (numbers[i] < 0)
{
continue;
}
// 正の数を合計
sum += numbers[i];
}
// 合計を表示
Console.WriteLine("正の数の合計: " + sum);
}
}
正の数の合計: 9
この例では、負の数をスキップし、正の数のみを合計しています。
continue文を使った効率的なループ処理
continue
文を使用することで、不要な処理をスキップし、ループの効率を向上させることができます。
以下の例では、文字列のリストから特定の文字を含む文字列をスキップして表示します。
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> words = new List<string> { "apple", "banana", "cherry", "date" };
char skipChar = 'a';
// リスト内の文字列をループ
for (int i = 0; i < words.Count; i++)
{
// 特定の文字を含む場合は次のループに進む
if (words[i].Contains(skipChar))
{
continue;
}
// 文字列を表示
Console.WriteLine(words[i]);
}
}
}
cherry
この例では、文字'a'
を含む文字列をスキップし、それ以外の文字列を表示しています。
continue
文を使うことで、不要な処理を避け、効率的なループを実現しています。
continue文の応用例
continue
文は、単純なループ処理だけでなく、さまざまな場面で応用することができます。
ここでは、ネストされたループや配列・リストの処理、エラーハンドリングにおけるcontinue
文の活用方法を紹介します。
ネストされたループでのcontinueの使い方
ネストされたループにおいて、continue
文を使用することで、特定の条件を満たす場合に内側のループをスキップすることができます。
以下の例では、2次元配列の特定の値をスキップして表示します。
using System;
class Program
{
static void Main()
{
int[,] matrix = {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};
// 2次元配列をループ
for (int i = 0; i < matrix.GetLength(0); i++)
{
for (int j = 0; j < matrix.GetLength(1); j++)
{
// 値が5の場合は次のループに進む
if (matrix[i, j] == 5)
{
continue;
}
// 値を表示
Console.Write(matrix[i, j] + " ");
}
Console.WriteLine();
}
}
}
1 2 3
4 6
7 8 9
この例では、値が5
の要素をスキップし、それ以外の要素を表示しています。
配列やリストの処理でのcontinueの活用
配列やリストの処理において、continue
文を使用することで、特定の条件を満たす要素をスキップすることができます。
以下の例では、リスト内の特定の文字列をスキップして表示します。
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> fruits = new List<string> { "apple", "banana", "cherry", "date" };
string skipWord = "banana";
// リスト内の文字列をループ
for (int i = 0; i < fruits.Count; i++)
{
// 特定の文字列の場合は次のループに進む
if (fruits[i] == skipWord)
{
continue;
}
// 文字列を表示
Console.WriteLine(fruits[i]);
}
}
}
apple
cherry
date
この例では、文字列"banana"
をスキップし、それ以外の文字列を表示しています。
continueを使ったエラーハンドリング
continue
文は、エラーハンドリングの場面でも役立ちます。
特定の条件でエラーが発生した場合に、その処理をスキップして次の反復に進むことができます。
以下の例では、数値のリストからゼロ除算をスキップして計算を続けます。
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> numbers = new List<int> { 10, 0, 5, 0, 2 };
int divisor = 2;
// リスト内の数字をループ
for (int i = 0; i < numbers.Count; i++)
{
// ゼロの場合は次のループに進む
if (numbers[i] == 0)
{
Console.WriteLine("ゼロ除算をスキップ");
continue;
}
// 割り算の結果を表示
Console.WriteLine(numbers[i] / divisor);
}
}
}
5
ゼロ除算をスキップ
2
ゼロ除算をスキップ
1
この例では、ゼロ除算をスキップし、他の数値に対して割り算を行っています。
continue
文を使うことで、エラーを回避しつつ処理を続行することができます。
まとめ
この記事では、C#におけるfor
文とcontinue
文の組み合わせについて詳しく解説し、具体的なコード例を通じてその使い方や応用例を紹介しました。
continue
文を活用することで、ループ内の特定の条件をスキップし、効率的な処理を実現する方法を学びました。
これを機に、実際のプログラムでcontinue
文を活用し、コードの効率化や可読性の向上に挑戦してみてください。