Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ if-elseチェーン | 制御構造
C#の基礎

bookif-elseチェーン

メニューを表示するにはスワイプしてください

else if キーワードを使用して追加の条件を設定可能。前の条件が満たされない場合に、追加の条件が評価される。

if (expression) 
{
    // code if first condition is met
}
else if (expression)
{
    // code if second condition is met
} else 
{
    // code if no condition is met
}


if else チェーンの例を見てみる:

main.cs

main.cs

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else if(value_1 == value_2) { Console.WriteLine("Value 1 is equal to Value 2"); } } } }

上記のプログラムでは、if-else if を使って条件を連結している。これは条件チェーンと呼ばれる。最初の条件 value_1 < value_2 が評価される。これは false なので、プログラムは次の条件 value_1 > value_2 に進み、これは true であるため、そのコードブロックが実行され、以降のチェーンは実行されない。

条件チェーンの主な特徴は、いずれかの条件が満たされた時点でチェーンの実行が停止する点。

次のコードを参照:

main.cs

main.cs

copy
12345678910111213141516171819202122232425
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } else if(value > 7) { Console.WriteLine("Value is bigger than 7"); } else if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

3つの条件すべてがtrueであっても、チェーン構造のため最初の条件で実行が停止します。

次に、チェーンせずに単純なifキーワードを使って書いてみましょう。

main.cs

main.cs

copy
123456789101112131415161718192021222324252627
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } if(value > 7) { Console.WriteLine("Value is bigger than 7"); } if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

上記の場合、各条件は個別に評価され、チェーンの一部として扱われないため、3つの文すべてが出力されます。

また、else チェーンの最後に if-else キーワードを追加することもでき、いずれの条件にも一致しない場合に実行されます。

main.cs

main.cs

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
question mark

次のプログラムの出力に含まれる行はどれですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  9

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  9
some-alt