条件语句可以根据条件是否满足或根据表达式的值控制程序执行的顺序。
C#有两个控制代码分支的结构:
if 语句,测试特定条件是否满足;
switch 语句,常用于多分支结构。
C#继承了 C 和 C++的 if...else 结构。
格式 1: if (表达式) 语句;格式 2: if (表达式) 语句 1; else 语句 2;
说明:
(1)与 C 不同,表达式必须要用布尔表达式,不能认为 0 为 false,非 0 为 true。
(2)格式 1 表示当表达式的值为 true,执行语句。格式 2 表示当表达式为 true 时执行语句 1,否则执行语句 2。
bool flagCheck = true;
if (flagCheck == true)
Console.WriteLine("The flag is set to true.");
else
Console.WriteLine("The flag is set to false.");
如果括号里的表达式计算为 true,则执行 Console.WriteLine("The boolean flag is set to ture."); 语句。
执行 if 语句之后,控制传递给下一个语句。在此例中不执行 else 语句。
(3)在测试条件时执行的语句可以是任何种类的,包括嵌套在原始 if 语句中的另一个 if 语句。在嵌套的 if 语句中,else 子句属于最后一个没有对应的 else 的 if 例如:
if (x > 10)if (y > 20)Console.Write("Statement_1");elseConsole.Write("Statement_2");
等价于:
if (x>10 &&y>20) Console.Write("Statement_1");if (x>10 && y<=20) Console.Write("Statement_1");
【案例 】
从键盘输入一个字符,而程序检查输入字符是否为字母字符。如果输入的字符是字母,则程序检查是大写还是小写。在任何一种情况下,都会显示适当的消息。
internal class Program
{
static void Main(string[] args)
{
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.");
}
Console.ReadKey();
}
}