第六章 控制语句 【程序编程相关:用Delphi实现WinSocket高级】 【推荐阅读:如何让C盘每次启动后都是完全共享】 【扩展信息:Delphi中巧妙利用RES文件】 有一种语句,你在每种编程语言控制流程语句中都可以找到.在这一章中,我介绍c#的控制语句,它们分为两个主要部分: .选择语句 .循环语句 如果你是c或c++程序员,很多信息会让你感到似曾相似;但是,你必须知道它们还存在着一些差异. 6.1 选择语句 当运用选择语句时,你定义了一个控制语句,它的值控制了哪一条语句被执行.在c#中用到两种选择语句: .if 语句 .switch 语句 6.1.1 if 语句 最先且最常用到的语句是 if 语句.内含语句是否被执行取决于布尔表达式: if (布尔表达式) 内含语句 当然,也可以有else 分枝,当布尔表达式的值为假时,该分枝就被执行: if (布尔表达式) 内含语句 else 内含语句 在执行某些语句之前就检查一个非零长字符串的例子: if (0 != strtest.length) { } 这是一个布尔表达式.(!=表示不等于.) 但是,如果你原来用c或者c++,可能会习惯于编写象这样的代码: if (strtest.length) { } 这样的写法在c#中不再有效,因为 if 语句只接受布尔( bool)数据类型的结果,而字符串的length属性对象返回一个整形(integer).编译器将出现以下错误信息: error cs0029: cannot implicitly convert type int to bool (不能隐式地转换类型 int 为 bool.) 你必须改变不良的编写习惯,不要再在 if 语句中出现下面这种赋值错误: if (nmyvalue = 5) ... 正确的代码应为 if (nmyvalue == 5) ... 因为相等比较由==实行,就象在c与c++中一样.看以下有用的对比操作符(但并不是所有的数据类型都有效): == ——如果两个值相同,返回真. != ——如果两个值不同,返回假. <, <=, >, >= —— 如果满足了关系(小于.小于或等于.大于.大于或等于),返回真. 每个操作符是通过重载操作符被执行的,而且这种执行对数据类型有规定.如果你比较两个不同的类型,对于编译器,必须存在着一个隐式的转换,以便自动地创建必要的代码.但是,你可以执行一个显式的类型转换. 清单 6.1 中的代码演示了 if 语句的一些不同的使用场合,同时也演示了如何使用字符串数据类型.这个程序的主要思想是,确定传递给应用程序的第一个参数是否以大写字母.小写字母或者数字开始. ... 下一页