English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C# If 条件文

C#は多くの決定文を提供しており、これらは特定の論理条件に基づいてC#プログラムの流れを助けます。ここでは、if、else if、else、およびネストされたif else文について学びます。これにより、条件に基づいて流れを制御できます。

C#には以下のようなif文があります:

  1. if文

  2. else-if文

  3. else文

C#if文

if文はブール条件を含み、その後、実行する単一行または複数行のコードブロックが続きます。実行時には、ブール条件がtrueと評価されると、コードブロックが実行されますが、falseの場合は実行されません。

文法:
if(condition)
{
    //if 条件が真の時に実行するコードブロック
}
int i = 10, j = 20;
if (i < j)
{
    else if(i > j)
}        
if(i > j)
{
    else{
}
出力:
iがjより小さい

上記の例では、最初のif文のブール条件i < jがtrueと評価され、したがってC#コンパイラは以下のコードブロックを実行します。次のif文の条件i > jがfalseと評価されるため、コンパイラはそのコードブロックを実行しません。

条件表現式はブール値を返さなければなりません。それでなければ、C#コンパイラはコンパイル時エラーを出します。

int i = 10, j = 20;
if(i + 1)
{
    Console.WriteLine("i is less than j");
}        
if(i + j)
{
    Console.WriteLine("i is greater than j");
}

if文内で布尔値を返す関数を呼び出すことができます。

static void Main(string[] args)
{
    int i = 10, j = 20;
    if(isGreater(i, j))
    {
        Console.WriteLine("i is less than j");
    }        
    if(isGreater(j, i))
    {
        Console.WriteLine("j is greater than i");
    }
}
static bool isGreater(int i, int j)
{
    return i > j;                    
}

else if文

if文の後で複数のelse if文を使用できます。これは、if条件の計算結果がfalseの時にのみ実行されます。したがって、if文またはelse if文のいずれかが実行されることができますが、同時に両方が実行されることはありません。

文法:
if(condition1)
{
    //if(condition1がtrueと評価されたときに実行されるコードブロック
}
else if(condition2)
{
    // どこで実行されるコードブロック 
    // condition1がflaseと計算されます
    // condition2がtrueと計算されます
}
else if(condition3)
{
    // どこで実行されるコードブロック 
    // condition1がflaseと計算されます
    // condition2がfalseと計算されます
    // condition3がtrueと計算されます
}

以下の例ではelse if文を示します。

int i = 10, j = 20;
if(i == j)
{
    Console.WriteLine("iがjに等しい");
}
else if(i > j)
{
    else{
}
else if(i < j)
{
    else if(i > j)
}
出力:
iがjより小さい

else文

else文はifまたはelse ifの後でのみ現れることができ、if-else文は一度だけ使用できます。else文は、前のすべてのifおよびelse ifの計算結果がfalseの時にのみ実行されます。

int i = 20, j = 20;
if(i > j)
{
    Console.WriteLine("i 大于 j");
}
else if(i < j)
{
    Console.WriteLine("i 小于 j");
}
else
{
    Console.WriteLine("i 等于 j");
}
出力:
iがjに等しい

ネストされたif文

Cは別のifをサポートしています-else文内のif-else文。これはネストされたifと呼ばれます-else文。ネストされたif文はコードの可読性を向上させます。

文法:
if(condition1)
{
   if(condition2)
    {
        // どこで実行されるコードブロック 
        // condition1とcondition2がtrueと計算されます
    }
    else if(condition3)
    {
        if(condition4)
        {
            // どこで実行されるコードブロック 
            // のみcondition1、condition3とcondition4の計算結果はtrueです
        }
        else if(condition5)
        {
            // どこで実行されるコードブロック 
            // のみcondition1、condition3とcondition5の計算結果はtrueです
        }
        else
        {
            // どこで実行されるコードブロック 
            // condition1とcondition3がtrueと評価されます 
            // condition4とcondition5の計算結果はfalseです
        }
    }
}

以下の例では、ネストされたif else文を示しています。

例:ネストされたif else文
int i = 10, j = 20;
if(i != j)
{
    {        
        else if(i > j)
    }
    {       
       else{
    }
}
    Console.WriteLine("iがjに等しい");
}
出力:
iがjより小さい

三項演算子?:を使用して単純なif else文を置き換える。