引言:
<<展现C#>>第六章 控制语句(rainbow 翻译)
出处:http://www.informit.com/matter/ser0000002
正文:
第六章控制语句
有一种语句,你在每种编程语言控制流程语句中都可以找到。
摘要:
使用c#时不免用调用别的dll,如win32的api和自己以前做的dll,
c#调用dll很像vb,下面讨论的c#调用dll的方式。
看看下面的例子,演示了怎么定义dll函数接口
public class utility
{
[dllimport("kernel32",
entrypoint=”createdirectory”,
callingc......
摘要:
索引指示器
其目的包括:
1.了解什么是索引指示器
2.如何实现索引指示器
3.重载索引指示器
4.了解如何实现多参数的索引指示器
索引指示器并不难使用。它们的用法跟数组相同。在一个类内部,你可以按照你的意愿来管理一组数据的集合。这些对象可以是类成员的有限集合,也可以是另外一个数组,或者是一些复杂的数据结构。不考虑类的内部实现,其数据可以通过使用索引指示器来获得。......
展现C#>>第六章控制语句(rainbow翻译)(来自重粒子空间)
<<展现c#>>第六章 控制语句(rainbow 翻译)
出处:http://www.informit.com/matter/ser0000002
正文:
第六章 控制语句
有一种语句,你在每种编程语言控制流程语句中都可以找到.在这一章中,我介绍了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++中一样.看以下有用的对比操作符(但并不是所有的数据类型都有效):
== ——如果两个值相同,返回真.
!= ——如果两个值不同,返回假.
<, <=, >, >= —— 如果满足了关系(小于.小于或等于.大于.大于或等于),返回真.
每个操作符是通过重载操作符被执行的,而且这种执行对数据类型有规定.如果你比较两个不同的类型,对于编译器,必须存在着一个隐式的转换,以便自动地创建必要的代码.但是,你可以执行一个显式的类型转换....
下一页 摘要:
c#语言一个最令人感兴趣的地方就是类的索引器(indexer)。简单说来,所谓索引器就是一类特殊的属性,通过它们你就可以像引用数组一样引用自己的类。显然,这一功能在创建集合类的场合特别有用,而在其他某些情况下,比如处理大型文件或者抽象某些有限资源等,能让类具有类似数组的行为当然也是非常有用的。本文就会引领你设置类来采用索引器。但是,首先让我们概述下属性这个概念以便了解些必要的背景知......