C# の switch ステートメント

王林
リリース: 2024-09-03 15:10:16
オリジナル
1255 人が閲覧しました

この記事では、C# の Switch ステートメントの概要を説明します。 C# は、.Net Framework の非常に強力なオブジェクト指向プログラミング言語です。 .Net Framework は、Windows アプリケーション、Web アプリケーション、Web サービスなどのアプリケーションを簡単に開発できる、広範で革新的なプラットフォームです。

C# の Switch ステートメントとは何ですか?

以下のポイントでは、C# の switch ステートメントについて説明します。

  • サイズの異なる多数の鍵が与えられた場合を考えてみましょう。次に、この束の鍵の 1 つを使用してドアを開けるように求められます。では、この問題に対してどのようなアプローチをとりますか?それは簡単で、ご想像のとおり、鍵を 1 つ選び、それを使ってドアのロックを解除しようとします。この鍵でドアが開かない場合は、別の鍵で試してください。
  • このプロセスは、最終的にドアのロックを解除する鍵を見つけるまで続きます。鍵が見つかり、ドアのロックが解除されたら、停止します。最初の試行でキーを見つけることができた場合、それ以降は他のキーを試行し続ける必要はありませんね?
  • switch ステートメントの場合も同様です。この例は、switch ステートメントの基本的な定義とフローを簡単に理解するのに役立ちます。 switch ステートメントの基本的なフローと機能は、すべてのプログラミング言語で同じです。違いは、使用されているプログラミング言語に基づく一般的な構文でのみ見られます。非常に基本的な用語では、switch ステートメントは式を評価し、テストし、コードに記述されたいくつかのケースと比較します。
  • いずれかのケースとの一致が見つかるとすぐに、コントロールはこのケースに入り、break ステートメントが見つかるまでこのケース内に書かれたステートメントの実行を開始します。 Break ステートメントが現れるとすぐに、switch ステートメントは終了し、プログラム制御は switch を終了します。
  • 式の値と一致する大文字と小文字が一致しない場合があります。このような場合については、一致するものが見つからなかった場合に常に実行されるデフォルトのケースについて説明します。 switch ステートメントのブロック内のケースは、識別子と呼ばれるさまざまな数値または文字列で表されます。式の値またはユーザーが指定した値は、一致するものが見つかるまでこれらのケースと比較されます。

C# プログラミング言語の switch ステートメントの構文を以下に示します。

構文:

switch( expression )
{
case value1:
//Block of code;
break;
case value2:
//Block of code;
break;
case valueN:
//Block of code
break;
default:
//Block of code
break;
ログイン後にコピー

C# の switch ステートメントのフローチャート

以下は、C# の switch ステートメントのフローチャートです。

C# の switch ステートメント

C# では Switch ステートメントはどのように機能しますか?

実行の流れをより深く理解するために、上記のフローチャートに示されている制御の流れを理解しましょう。ケースの値の 1 つと等しい式が switch ステートメントとともに渡されます。値が等しくない場合は、デフォルトのケースが実行されます。次に、この式の値がケース識別子または最初のケースと比較されます。最初のケースが一致する場合、最初のケースに関連付けられたコードのブロックが実行されます。ブレークに遭遇すると実行が停止し、switch ステートメントを終了します。ただし、ケースが一致しない場合、実行は次のケースに進みます。このケースが一致する場合、2 番目のコード ブロックが実行され、そうでない場合、フローは同様の方法で次のケースをチェックします。最後に、大文字と小文字が一致しない場合は、デフォルトのコード ブロックが実行されます。

C# の switch ステートメントの例

C# の switch ステートメントの例をいくつか見てみましょう

例# 1

この例では、switch ステートメントの使用法をより明確に示します。

コード:

using System;
public class Example1 {
public static void Main(String[] args)
{
char grade_report = 'D';
Console.WriteLine( "Your performance is : " );
switch(grade_report)
{
case 'A' :
Console.WriteLine("Outstanding Result!\n"  );
break;
case 'B' :
Console.WriteLine( "Excellent Result!\n"  );
break;
case 'C' :
Console.WriteLine( "Good Result\n"  );
break;
case 'D' :
Console.WriteLine( "Satisfying Result\n"  );
break;
case 'F' :
Console.WriteLine( "Poor Result\n"  );
break;
default :
Console.WriteLine( "You did not appear for exam\n"  );
break;
}
}
}
ログイン後にコピー

出力:

C# の switch ステートメント

例 #2

この例は、スイッチでの Break ステートメントの使用を示しています。 case の後に Break ステートメントが指定されていない場合、実行フローは Break ステートメントに遭遇するまで続行されます。

コード:

using System;
public class Example2
{
public static void Main(String[] args)
{
int  range_of_number=50;
switch (range_of_number)
{
case 10:
case 20:
case 30:
Console.WriteLine( "The number is 10 or 20 or 30 " );
break;
case 50:
case 55:Console.WriteLine( "This case also executes because there is no break " );
Console.WriteLine( "\n" );
break;
case 60:
Console.WriteLine( "The number is either 40 or 50 or 60" );
break;
default:
Console.WriteLine( "The number is greater than 60" );
break;
}
}
}
ログイン後にコピー

出力:

C# の switch ステートメント

例 #3

この例では、break ステートメントが特定の場合に switch ステートメントがどのように機能するかを示します。

コード:

using System;
public class Example3 {
public static void Main(String[] args)
{
int x = 10, y = 5;
bool a = (x==y && x+y<10);
switch(a)
{
case true:
Console.WriteLine( "hi" );
break;
case false:
Console.WriteLine( "bye" );
break;
}
}
}
ログイン後にコピー

出力:

C# の switch ステートメント

結論

switch case ステートメントは、if-else ステートメントの代替としてみなされる制御ステートメントです。これは、式の値に基づいてコードの各部分への実行フローを編成する方法を提供する多方向分岐ステートメントです。

以上がC# の switch ステートメントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!