C# で関数を終了する
-
break
ステートメントを使用して、C#
の関数を終了する -
continue
ステートメントを使用して、C#
の関数を終了する -
goto
ステートメントを使用して、C#
の関数を終了する -
return
ステートメントを使用して、C#
の関数を終了する -
throw
ステートメントを使用して、C#
の関数を終了する
この記事では、C# で関数を終了する方法を紹介します。
ジャンプステートメントは通常、プログラム実行のフローを制御するために使用されます。つまり、ジャンプステートメントは、実行中のプログラムのあるポイントから別のポイントに無条件に制御を移します。
詳細については、このリファレンスを参照してください。
以下は、C# でジャンプ文に分類される 5つの文です。
break
ステートメント;continue
ステートメント;goto
ステートメント;return
ステートメント;throw
ステートメント。
break
ステートメントを使用して、C#
の関数を終了する
break
ステートメントは、ループが存在する場所でループを停止します。次に、使用可能な場合、制御は終了したステートメントに続くステートメントに渡されます。
ネストされたループに break
ステートメントが存在する場合、break ステートメントを含むループのみを終了します。
例:
// C# program to illustrate the
// use of break statement
using System;
class Test {
// Main Method
static public void Main() {
int[] Numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
foreach (int number in Numbers) {
// print only the first 10 numbers
if (number > 10) {
break;
}
Console.Write($"{number} ");
}
}
}
出力:
1 2 3 4 5 6 7 8 9 10
continue
ステートメントを使用して、C#
の関数を終了する
continue
ステートメントは、特定の条件が真の場合、コードブロックの実行をスキップします。break
ステートメントとは異なり、continue
ステートメントは制御をループの先頭に移します。
以下は、foreach
メソッドを使用したコードの例です。
// C# program to illustrate the
// use of continue statement
using System;
class Test {
// Main Method
static public void Main() {
int[] Numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
foreach (int oddNumber in Numbers) {
// print only the odd numbers 10 numbers
if (oddNumber % 2 == 0) {
continue;
}
Console.Write($"{oddNumber} ");
}
}
}
出力:
1 3 5 7 9 11 13 15 17 19
goto
ステートメントを使用して、C#
の関数を終了する
goto
ステートメントを使用して、プログラム内のラベル付きステートメントに制御を移します。ラベルは、goto
ステートメントの前に配置された有効な識別子である必要があります。
つまり、ラベル上のコードの実行を強制します。
以下の例では、goto
ステートメントがケース 5 の実行を強制します。
// C# program to illustrate the
// use of goto statement
using System;
class Test {
// Main Method
static public void Main() {
int age = 18;
switch (age) {
case 5:
Console.WriteLine("5yrs is less than the recognized age for adulthood");
break;
case 10:
Console.WriteLine("Age 10 is still underage");
break;
case 18:
Console.WriteLine("18yrs! You are now an adult and old enough to drink");
// goto statement transfer
// the control to case 5
goto case 5; default:
Console.WriteLine("18yrs is the recognized age for adulthood");
break;
}
}
}
出力:
18yrs! You are now an adult and old enough to drink
5yrs is less than the recognized age for adulthood
return
ステートメントを使用して、C#
の関数を終了する
return
ステートメントは、それが表示されている関数の実行を終了し、可能な場合は呼び出し元のメソッドの結果に制御を戻します。ただし、関数に値がない場合は、return
ステートメントが式なしで使用されます。
例:
// C# program to illustrate the
// use of return statement
using System;
class Test {
// Main Method
static public void Main() {
int[] Numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
foreach (int number in Numbers) {
// print only the first 10 numbers
if (number > 10) {
return;
}
return;
Console.Write($"{number} ");
}
}
}
出力:
No output
throw
ステートメントを使用して、C#
の関数を終了する
例外は、エラーが発生したか、プログラムの実行が変更されたことを示します。throw
ステートメントは、new
キーワードを使用して有効な Exception クラス
のオブジェクトを作成します。
すべての例外クラスには、Stacktrace プロパティと Message プロパティがあります。
有効な例外は、Exception クラスから派生する必要があることに注意してください。有効な Exception クラスには、ArgumentException
、InvalidOperationException
、NullReferenceException
、および IndexOutOfRangeException
が含まれます。
詳細については、このリファレンスを参照してください。
例:
// C# program to illustrate the
// use of throw statement
using System;
class Test {
// Main Method
static public void Main() {
int[] Numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
foreach (int number in Numbers) {
// using try catch block to
// handle the Exception
try {
// print only the first 10 numbers
if (number > 10) {
Console.WriteLine();
throw new NullReferenceException("Number is greater than 10");
}
Console.Write($"{number} ");
} catch (Exception exp) {
Console.WriteLine(exp.Message);
return;
}
}
}
}
出力:
1 2 3 4 5 6 7 8 9 10
Number is greater than 10