フッターコンテンツにスキップ
Iron Academy Logo
C#を学ぶ
C#を学ぶ

その他のカテゴリー

C#スイッチケース

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();
Console.WriteLine("Hello, please write any word:");
string word = Console.ReadLine();

割り当てオペレータ

上記のコードスニペットでは、Laylaは代入演算子(wordに格納します。 内訳は以下の通りです:

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

  • word = Console.ReadLine(): 代入演算子(wordに割り当てます。

このコンテキストでは、代入演算子を使用して変数wordの値をコンソールで入力された内容に設定します。 代入演算子はプログラミングの基本であり、変数に値を格納するために使用され、プログラムの実行中にそれらの値を使用したり操作したりできるようにします。

算術演算子

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

比較演算子

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

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

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

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

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

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

else if (word.Length >= 6 && word.Length < 11)
{
    Console.WriteLine("That's a medium length word.");
}
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.");
}
else
{
    Console.WriteLine("That's a long word.");
}

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

Csharp Switch Case 1 related to 条件論理文で比較演算子を使用する

論理演算子

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

レイラ・ポーターのビデオでは、ユーザーが動物のリストから奇妙な単語を特定するミニゲームを紹介しています:"犬"、"猫"、"金魚"。金魚は水中に生息し、哺乳類ではないため、変わり者だと考えられている。 Layla(6:55)は、ユーザーにToLower()メソッドを使って小文字にして、大文字小文字の区別による問題を回避することを確認します。

Console.WriteLine("Pick the odd one out - dog, cat, goldfish");
string oddOne = 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!");
}
if (oddOne != "dog" && oddOne != "cat")
{
    Console.WriteLine("You chose the odd one out!");
}

コードは等しくない(&&)演算子で結合し、両方の条件が真である必要があることをコードが保証します。 入力が "dog "でも "cat "でもない場合は、"goldfish "でなければならず、プログラムは "You choose the odd one out!"と出力する。

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

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

Csharp Switch Case 2 related to 論理演算子

レイラ(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)
{
    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で定義され、その後の条件として長さが6以上で11未満でなければならないwhen句を続けます。パターンが一致すると、プログラムは"That's a medium length word!"を出力し、switchブロックを終了します。

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);
// 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: 文字列変数messageを初期化し、word.Lengthに基づくswitch式を開始します。

  2. < 6 => "That's a short word!": <を使用して"That's a short word!"を返します。

  3. < 11 and >= 6 => "That's a medium length word!": andを使用して"That's a medium length word!"を返します。

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

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

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

Csharp Switch Case 3 related to スイッチ式 (パターン マッチング)

結論

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

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

Hero Worlddot related to C#スイッチケース
Hero Affiliate related to C#スイッチケース

好きなことを共有することで収入を増やす

.NET、C#、Java、Python、またはNode.jsを使用する開発者向けのコンテンツを作成しますか?あなたの専門知識を副収入に変えましょう!

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね