C# (CSharp)中的foreach,for关键词
C#提供4个不同的循环语句选择给你使用: for, foreach, do ,while。
1.for
当你预先知道一个内含语句应要执行多少次时,for 语句特别有用。当条件为真时,常规语法允许重复地执行内含语句(和循环表达式):
for (初始化;条件;循环) 内含语句
请注意,初始化、条件和循环都是可选的。如果忽略了条件,你就可以产生一个死循环,要用到跳转语句(break 或goto)才能退出。
(另外一点是,你可以同时加入多条由逗号隔开的语句到for循环的所有三个参数。例如,你可以初始化两个变量、拥有三个条件语句,并重复4个变量)
2.foreach
已经在Visual Basic 语言中存在了很久的一个功能是,通过使用For Each 语句收集枚举。C#通过foreach 语句,也有一个用来收集枚举的命令:
foreach(表达式中的类型标识符) 内含语句
比较典型的语句子为
for(int i=0;i<n;i++) sum += i;
foreach(int i in int1DArray) sum+= i;
其实引入foreach这个关键字,有点多余。
可以考虑for关键字增加一种用法,用来代替foreach
for(int i in int!DArray) sum+= i;
对于编译器实现,这不存在多大的困难。
foreach这个关键字,有点乱的感觉,多了4个字母,不太友好,没必要。
在减少关键字方面,C#当然已经做得很好。
例如using有三种用法:using namespace, using alias=namespace, using(var obj = new Type())的几种用法
static关键字,有几种语义,共享的,抽象的,静态的。
this和static配合,实现了扩展方法。
while也有两种写法,while(){}和do{} while();
for的两种用法,表示的2个意思,语法都比较接近,对于用户同样非常友好,编译器开发,更没有问题。