C#语言最基本的重要语句:控制程序流的语句。它们不是按代码在程序中的排列位置顺序执行的。
条件语句
条件语句可以根据条件是否满足或根据表达式的值来控制代码的执行分支。C#有两个控制代码的分支结构: if语句,测试特定条件是否满足:switch语句,比较表达式和多个不同的值。
-
对于条件分支,C#继承了C和C++的if..else 结构。对于用过程语言编程的人,其语法非常直观:
1 if (condition) 2 Console.WriteLine(true); 3 else 4 Console.WriteLine(false)
-
对于条件分支,C#继承了C和C++的if..else 结构。对于用过程语言编程的人,其语法非常直观:
1 bool isZero; 2 int i = 0; 3 if (i==0) 4 { 5 isZero = true; 6 Console.WriteLine("i is Zero"); 7 } 8 else 9 { 10 isZero = false; 11 Console.WriteLine("i is No-Zero"); 12 }
-
还可以单独使用if语句,不加最后的else语句。也可以合并else if 语句。
单独使用if语句1 if (condition) 2 { 3 Console.WriteLine(true); 4 }
合并else if 语句
1 string input; 2 input = Console.ReadLine(); 3 if (input == "") 4 { 5 Console.WriteLine("You typed in an empty string"); 6 } 7 else if (input.Length < 5) 8 { 9 Console.WriteLine("The string had less than 5 characters."); 10 } 11 else if (input.Length < 10) 12 { 13 Console.WriteLine( "The string had at least 5 but less than 10 C haracters."); 14 }
添加到if字句中的else if 语句的个数不受限制。注意,在上面的例子中,声明了一个字符串变量input让用户在命令行中输入文本,把文本填充到input中,然后测试该字符串变量的长度。代码还显示了在C#中如何进行字符串处理。
-
对于if语句,要注意的一点是如果条件分支中只有一条语句,就不需要使用花括号。
1 if (condition) 2 Console.WriteLine(true);
但是为了保持与一致性,大部分人都会加上花括号。前面介绍的if语句还演示了用于比较数值的一些C#运算符。特别注意,C# "==" 对变量进行等于比较运算。此时不要使用 "=",一个"="用于赋值。前面介绍的if语句还演示了用于比较数值的一些C#运算符。特别注意,C# "==" 对变量进行等于比较运算。此时不要使用 "=",一个"="用于赋值。
-
前面介绍的if语句还演示了用于比较数值的一些C#运算符。特别注意,C# "==" 对变量进行等于比较运算。此时不要使用 "=",一个"="用于赋值。
在C#中,if子句中的表达式必须等于布尔值(Boolean)。不能直接测试整数(如从函数中返回的值),而必须显示地把返回的整数转换为布尔值 true和false,例如,将值与0或null进行比较:1 if (Dosomething() != 0) 2 { 3 4 } 5 else 6 { 7 }
提示
在if语句中不使用花括号,可能在维护代码时导致错误。无论if语句返回true还是false,都常常给if语句添加第二条语句。每次都是用花括号,就可以避免这个编码错误。
使用if语句的一个指导原则是只有语句和if语句同一行上,才不允许程序员使用花括号,遵守这条指导原则,程序员就不太可能在添加第二条语句时不添加花括号。