if-else (C# 參考)
if 陳述式會根據 Boolean 運算式的值選取要執行的陳述式。 在下列範例中,Boolean 變數 result 設為 true,然後以 if 陳述式進行檢查。 輸出如下:The variable is set to true。
bool result = true;
if (result)
{
Console.WriteLine("The variable is set to true.");
}
else
{
Console.WriteLine("The variable is set to false.");
}
如果小括號中的運算式評估為 true,則執行 Console.WriteLine("The variable is set to true."); 陳述式。 if 陳述式執行完畢後,程式控制權便會轉移到下一個陳述式。 本範例中的 else 並不會執行。
如果您要執行一個以上陳述式,請如上述範例中使用 {} 將陳述式括起來成為一個區塊,便可以條件式執行多個陳述式。
根據測試條件結果而決定執行的陳述式可以是任何種類,包含巢狀於原 if 陳述式內的另一個 if 陳述式也可以。 在巢狀的 if 陳述式內,else 子句隸屬於最後一個沒有相對應的 else 子句的 if。 例如:
int x = 12;
int y = 18;
if (x > 10)
if (y > 20)
Console.Write("Statement_1");
else
Console.Write("Statement_2");
在這個範例中,如果條件 (y > 20) 的運算結果為 false,Statement_2 就會顯示出來。 但是,如果您想將 Statement_2 與條件 (x >10) 聯結起來,請使用大括號:
if (x > 10)
{
if (y > 20)
Console.Write("Statement_1");
}
else
Console.Write("Statement_2");
此時如果條件 (x > 10) 的運算結果為 false,Statement_2 就會顯示出來。
範例
在這個範例中,由鍵盤輸入一個字元後,程式會檢查輸入的字元是否為字母字元。 如果是,程式會檢查字元是大寫或小寫。 依照字元的大寫或小寫,顯示適當的訊息。
class IfTest
{
static void Main()
{
Console.Write("Enter a character: ");
char c = (char)Console.Read();
if (Char.IsLetter(c))
{
if (Char.IsLower(c))
{
Console.WriteLine("The character is lowercase.");
}
else
{
Console.WriteLine("The character is uppercase.");
}
}
else
{
Console.WriteLine("Not an alphabetic character.");
}
}
/*
Input:
2
Sample Output
Enter a character: 2
The character is not an alphabetic character.
Additional sample might look as follows:
Run #2:
Enter a character: A
The character is uppercase.
Run #3:
Enter a character: h
The character is lowercase.
* */
}
也有可能使用以下的 else-if 排列方式來擴充 if 陳述式,以處理數個條件:
if (Condition_1)
{
// Statement_1;
}
else if (Condition_2)
{
// Statement_2;
}
else if (Condition_3)
{
// Statement_3;
}
else
{
// Statement_n;
}
這個範例檢查輸入的字元是小寫、大寫或數字。 否則,輸入的字元不是英數字元。 這個程式使用 else-if 階層。
public class IfTest3
{
static void Main()
{
Console.Write("Enter a character: ");
char c = (char)Console.Read();
if (Char.IsUpper(c))
{
Console.WriteLine("Character is uppercase.");
}
else if (Char.IsLower(c))
{
Console.WriteLine("Character is lowercase.");
}
else if (Char.IsDigit(c))
{
Console.WriteLine("Character is a number.");
}
else
{
Console.WriteLine("Character is not alphanumeric.");
}
}
}
/*
Sample Input: E
Sample Output:
Enter a character: E
The character is uppercase.
Additional sample runs might look as follows:
Run #2
Enter a character: e
The character is lowercase.
Run #3:
Enter a character: 4
The character is a number.
Run #4:
Enter a character: $
The character is not alphanumeric.
*/
C# 語言規格
如需詳細資訊,請參閱 C# 語言規格。 語言規格是 C# 語法和用法的決定性來源。