【C#】if文の条件に関数を使う方法

基本的なif文

if文は、条件で処理を分岐したい時に使用します

if (条件)
{
  条件に合致した場合の処理
}
else if (条件)
{
  条件に合致した場合の処理
}
else
{
  どの条件にも合致しなかった場合の処理
}

条件が合致する場合、配下の処理が実行され、if文の処理は終了します。

条件が合致することをtrue(真)といいます。

else ifは、1つ以上記述できます(省略可能)。

elseは、1つのみ記述できます(省略可能)。

 

サンプルコード

using System;

namespace c_if
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 10;

            if (a == 1)
            {
                Console.WriteLine("aは1");
            }
            else if (a == 10)
            {
                Console.WriteLine("aは10");
            }
            else
            {
                Console.WriteLine("それ以外");
            }
        }
    }
}

実行結果:

aは10

 

if文の条件に関数を用いる

先程は数値でif文の条件を定義しました。

しかし、実際の開発現場では条件に関数(メソッド)を用いる場合も非常に多いです

if文の条件に関数を定義した場合をみていきます。

 

サンプルコード

using System;

namespace c_if
{
    class Program
    {
        
        static void Main(string[] args)
        {
            if (Judge1(10)) // (Judge1(10) == true)と同じ意味です(trueは省略可)。
            {
                Console.WriteLine("10です。");
            }
            else
            {
                Console.WriteLine("それ以外の数字です。");
            }
        }

      // bool型の関数(メソッド)を追加
        static bool Judge1(int b)
        {

            if (b == 10)
            {
                return true;
            }

            return false;

        }
    }
}

実行結果:

10です。

上記の「if (Judge1(10))」は、「もし、Judge1メソッドの戻り値がtrueなら」という意味になります。

このように実際の開発現場においては、条件を単に数値で判定するのではなく、関数の戻り値(trueかfalse)で判定することもあります

 

if文で複数条件を用いる際の注意点

補足ですが、if文で複数条件を多用するのは避けましょう。

詳しくは、以下の記事を参考ください。

【C#】if文で安易に複数条件を多用するのは危険(AND,ORの判定方法)

2021.06.01

 

おすすめ書籍・Udemy

■C#を学習し始めた方向け
やさしいC 第3版 (「やさしい」シリーズ)

1週間でCの基礎が学べる本

確かな力が身につくC「超」入門 第2版 (Informatics&IDEA)

■C#をある程度学習した方向け
基礎からしっかり学ぶCの教科書 改訂新版 (マイクロソフト関連書)

独習C 新版

Effective C 6.0/7.0

 

■Udemyのおすすめ講座①
C#初心者が最初に身に着けるべき30の文法

■Udemyのおすすめ講座②
初心者でも最速でシゴトに使えるC#!