IRONSOFTWAREHOME

C#スイッチケース

C# Switch Case

Layla Porter

20分21秒

C#のswitch文は、開発者が式の値に基づいて多くのコードの中から1つのブロックを実行できる強力な制御フローメカニズムです。 特に、1つの変数に対して複数の条件をチェックする必要がある場合に便利です。 演算子は、比較や論理チェックなど、マッチ式に対してさまざまなアクションを実行するために、スイッチケース内で使用することができます。

レイラ・ポーターは、"C# for Beginners part 4 - 演算子とスイッチ"のビデオで、演算子とswitch case文に焦点を当て、C#プログラミングの基本的な概念に踏み込んでいます。 この記事では、彼女のビデオに触発され、彼女の説明を分解し、スイッチ・ケースと演算子を理解するために彼女のビデオからのコード・スニペットを提供します。

演算子の紹介

C#の演算子は、データを操作し、値を比較し、場合の値や比較に基づいて決定を下すために重要です。 レイラはまず、算術演算子、比較演算子、論理演算子など、さまざまなタイプの演算子について説明します。

Console.ReadLineを使用したユーザー入力

Layla は Console.ReadLine() を使用してユーザー入力を取得する方法を示し始めます。 このメソッドは、対話型 C# アプリケーションに不可欠な、コンソールからの入力行を読み取ります。

Console.WriteLine("Hello, please write any word:");
string word = Console.ReadLine();

割り当てオペレータ

上記のコードスニペットで、Layla は代入演算子 (=) を使用して、ユーザー入力から取得した値を変数 word に格納します。 内訳は以下の通りです:

  • string word: 型 string の変数 word を宣言します。

  • word = Console.ReadLine(): 代入演算子 (=) を使用して、ユーザーが入力した値 (Console.ReadLine() から取得) を変数 word に代入します。

この文脈では、代入演算子は変数 word の値をコンソールにユーザーが入力する任意の文字列に設定するために使用されます。 代入演算子はプログラミングの基本であり、変数に値を格納するために使用され、プログラムの実行中にそれらの値を使用したり操作したりできるようにします。

算術演算子

C#の算術演算子は、加算、減算、乗算、除算、剰余などの基本的な数学演算を行います。 これらの演算子は、どのプログラミング言語にも必要不可欠な、わかりやすいものです。 レイラは、実際の数学の問題と同じ正確な値を返す単純な数学の演算であるため、ビデオではこれらを扱っていません。

比較演算子

C#の比較演算子は、値を比較し、その比較に基づいて意思決定を行うことができます。 Layla は大なり (>)、小なり (<)、以上 (>=)、以下 (<=)、等しい (==)、不等 (!=) の演算子を紹介します。

条件論理文で比較演算子を使用する

レイラ・ポーターのビデオでは、C#の条件付きロジックを使用して、ユーザーから提供された単語の長さを決定します。 彼女は、2:10 に、文字列のプロパティ Length を使用して文字列の長さを確認するための if 文の基本構造を示し始めます。 このプロパティは、文字列の文字数を返します。

if (word.Length < 6)
{
    Console.WriteLine("That's a short word.");
}

最初の条件チェックは、文字列の長さが6文字未満かどうかを確認するために小なり (<) 演算子を使用します。 条件が真であれば、プログラムは "That's a short word." と出力する。コードのこの部分は、短い単語を効果的に分類するのに役立ちます。

次に、4:00 に、Layla Porter は greater than or equal to (>=) 演算子と論理 AND (&&) 演算子を使用して複合条件の else if 文を使用する概念を紹介します。 複合条件では、単語の長さが6文字以上11文字未満かどうかをチェックします。 両方の条件が満たされた場合、プログラムは "それは中程度の長さの単語です "と出力します。これは、複数の条件を組み合わせることで、単語の長さに基づいてより洗練された判断ができることを示しています。

else if (word.Length >= 6 && word.Length < 11)
{
    Console.WriteLine("That's a medium length word.");
}

最後に、レイラは4:40から、前の条件を満たさない他のすべてのケースを処理するためのelse文の使用について説明する。 この部分は、11文字以上の単語に対して、"That's a long word." と出力します。 else文を使用することで、前の条件で捕らえられなかった入力が適切に処理されるようにします。

else
{
    Console.WriteLine("That's a long word.");
}

さて、レイラはプログラムを実行し(5:15)、上記の条件文と比較演算子を使って分類する単語を入力する:

論理演算子

論理演算子 &&, ||, ! は、C#で複数の条件を組み合わせて、より複雑な意思決定ロジックを作成することを可能にします。 6:24のLaylaは、これらの演算子がどのように連携して条件文を作成するかを説明している。

レイラ・ポーターのビデオでは、ユーザーが動物のリストから奇妙な単語を特定するミニゲームを紹介しています:"犬"、"猫"、"金魚"。金魚は水中に生息し、哺乳類ではないため、変わり者だと考えられている。 Layla は (6:55)、Console.ReadLine() を使用してユーザーに選択肢を入力させ、その後 ToLower() メソッドを使用して入力を小文字に変換し、文字列を比較する際の大文字小文字を区別しない問題を防ぎます:

Console.WriteLine("Pick the odd one out - dog, cat, goldfish");
string oddOne = Console.ReadLine().ToLower();

Laylaは、7:32で、ユーザーの入力をシステムやあらかじめ定義された動物のリストと照合するための比較演算子の使い方を説明している。

if (oddOne != "dog" && oddOne != "cat")
{
    Console.WriteLine("You chose the odd one out!");
}

コードは、入力が"dog"と"cat"に一致しないかどうかを確認するためにnot equal to (!=) 演算子を使用しています。これらの条件を論理 AND (&&) 演算子で結合することにより、ステートメントを満たすには両方の条件が真でなければならないことを保証します。 入力が "dog "でも "cat "でもない場合は、"goldfish "でなければならず、プログラムは "You choose the odd one out!"と出力する。

else
{
    Console.WriteLine("Better luck next time!");
}

ユーザーの入力がこの条件を満たさない場合、つまり入力が "dog "か "cat "のどちらかである場合、elseブロックが実行され、プログラムは "Better luck next time!"と出力します。

レイラ(8:30)は、条件文における論理演算子の働きを理解することの重要性について、さらに詳しく説明する。 AND 演算子 (&&) は両方の条件が真であることを必要とし、OR 演算子 (`||)が真である条件は1つだけです。 彼女(9:05)は、これらの演算子を使うことでプログラムの動作がどのように変わるかを示し、C#で論理演算子を使うときのニュアンスと潜在的な落とし穴を強調する。 この説明は、視聴者がプログラムで条件ロジックを効果的に使用する方法を理解するのに役立ちます。

Cシャープ スイッチケースステートメントの紹介

Switch文は、C#で複数分岐の意思決定を実装する代替方法を提供し、多くの場合、複数のif-else文よりも読みやすく効率的です。 C#では、"case c"はswitch文の中で条件を指定するために使用され、比較が同じ型の値で動作することを保証します。

レイラ・ポーター氏のビデオ(12:38)では、if-else文からswitch文に移行して、指定された単語の長さカテゴリを決定しています。 switchステートメントを使用することで、コードをよりすっきりと効率的にすることができると説明しています。

コードスニペットは次のようになります:

switch (word.Length)
{
    case < 6:
        Console.WriteLine("That's a short word!");
        break;
    case int length when 6 <= length && length < 11:
        Console.WriteLine("That's a medium length word!");
        break;
    default:
        Console.WriteLine("That's a long word!");
        break;
}

レイラは、switch文は複数のケースで構成され、それぞれが評価される変数の可能な値または値の範囲を表すと説明します。 この場合、変数は word.Length です。

1.ケース < 6: 最初のケースは、単語の長さが6未満かどうかをチェックします。 この条件が満たされると、プログラムは"短い単語だ!"と出力し、break文を使ってswitchブロックを終了します。 ケースには複数の文があることを忘れないでください。

2.Case int length when 6 <= length && length < 11: 2番目のケースはより複雑です。 これは、C# 7.0 で導入されたパターンマッチング機能を使用しています。ケースは int length で定義され、その後により多くの条件を指定する when節が続きます:長さは 6 以上で 11 未満でなければなりません。パターンが一致すると、プログラムは"それは中くらいの長さの単語です!"を出力し、その後スイッチブロックを終了します。

3.デフォルト: 前のケースがどれも満たされない場合、デフォルトのケースが実行されます。 これは、if-else構造におけるelse文のような働きをします。 この場合、プログラムは "That's a long word!"と出力し、switchブロックを終了します。

Layla氏(15:45)は、if文ではなくswitch文を使用すると、コードがより読みやすくなり、特に複数の条件を扱う場合の管理が容易になるため、有益であることを強調している。 さらに、C#コンパイラはswitch文を異なる方法で最適化するため、switch文がより効率的になり、実行速度が速くなることにも言及している。

スイッチ式 (パターン マッチング)

Switch式はC#の新しい機能で、単純な値ベースの決定のための、より簡潔な構文を提供します。 レイラ・ポーターのビデオ16:25あたりでは、C#の"switch expression"または"pattern matching switch"と呼ばれる最新のswitch文を紹介しています。 このタイプのswitch文は、値を直接返すので、コードがより簡潔で読みやすくなります。

彼女(17:00頃)はまず、switch式の構文を使ってif-else文を書き換える方法を示す。 switch式は、アクションを実行する代わりに、条件に基づいて変数に値を代入します。 例えば、このような例です:

// Example of Switch Expression
string message = word.Length switch
{
    < 6 => "That's a short word!",
    < 11 and >= 6 => "That's a medium length word!",
    _ => "That's a long length word!"
};

Console.WriteLine(message);

以下は、レイラ(17:31)が上記のコードについて説明しているものです:

  1. String message = word.Length switch: string 変数 message を初期化し、word.Length に基づく switch 式を開始します。

  2. < 6 => 'それは短い単語です!': word.Length が6未満の場合、小なり演算子 < を使用して"それは短い単語です!"を返します。

  3. < 11 と >= 6 => 'それは中くらいの長さの単語です!': word.Length が6から10の間(含む)の場合、可読性のために and を使用して"それは中くらいの長さの単語です!"を返します。

4._ => "それは長い長さの単語です!: アンダースコアはデフォルトのケースとして機能し、前の条件のどれにも当てはまらない場合に"それは長い長さの単語です!"を返します。

Laylaは、この構文は可読性と効率を向上させるために設計された最新のC#機能の一部であることを強調しています。 switch式は、複数の条件を簡潔に処理するために、従来のif-else文よりも好まれます。

彼女は19:30にコードを実行し、出力はif-elseと同じである:

結論

レイラ・ポーターのビデオは、演算子、条件文、switch 文などの重要な概念をカバーし、C# プログラミングの初心者に確かな基礎を提供します。 彼女の説明と例題に従うことで、初心者はC#でデータを操作し、プログラムの流れを効果的に制御する方法について実践的な洞察を得ることができます。

これらの基本的な概念を理解し、提供されている例で練習することによって、C#の初心者は、より複雑なプログラミングタスクのための強力な基盤を構築することができます。 彼女のYouTubeチャンネルでC#のビデオをもっとチェックしてください。

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。