C#语言中,循环主要分为4种,分别是:while循环、do while循环、for循环、foeach循环。下面我将分类对循环语句总结。
1、while循环:
如果循环条件为真,则执行循环体;执行完循环体之后,在判断条件是否为真,如果为真,再执行循环;然后再判断条件是否为真,就这样一直进行下去。直到循环条件的判定结果为假,才会结束循环。
值得注意的是,循环条件可以是值、变量、表达式,但是必须是bool类型。
//代码格式: //代码解释: while(循环条件) //如果循环条件为真,则执行循环体,执行完循环体之后,在判断条件是否为真,如果为真,再执行循环题
{ //然后再判断条件是否为真,就这样一直进行下去,知道循环条件的判定结果为假,才会结束循环
循环体;
}
例如:在控制台中输出1000以内能被3整除的数
int num=1; //当前的数字 while (num<=1000) { if(num%3==0) { Console.WriteLine(num): } num++; }
同时也可以将上述代码优化为:
int num=3; while (num<1000) { Console.WriteLine(num); num +=3; }
2、do while 循环:
先执行一次循环体;然后判断循环条件是否满足,如果满足则再次执行循环体;然后再判断条件是否满足,知道条件不满足,才结束循环。
这里需要注意的是,do while与while语句的不同就在于,do while语句要先执行一次循环体、再判断条件,而while语句是先判断条件、再执行循环体。
//代码格式: do { 循环体 } while(循环条件);
例如:控制台中提示用户输入一个正数,然后输出这个数字,如果用户输入的不是正数,则需要重新输入。
//while语句代码如下: Console.Write("请输入一个正数:"); double number =double.Parse(Console.ReadLine()); while (number<=0) { Console.Write("请输入一个正数:"); number =double.Parse(Console.ReadLine()); } Console.WriteLine("你输入的数字是:"+number); //do while语句代码如下: double number; do { Console.Write("请输入一个正数:"); number =double.parse(Console.ReadLin()); } while(number<=0); Console.WriteLine("你输入的数字是:"+number);
可见,这种情况下,do while语句较while语句稍微简洁些。
3、for循环
首先运行表达式1,判断循环条件是否为真,如果为真,则执行循环体,执行完后再运行表达式2,接着在判断循环条件。。。。直到循环条件为假才会结束循环。
其中,表达式1可以是任何代码,并且一定会且只会执行一次;表达式2可以是任何代码,每当循环体执行之后执行。
//代码格式 for(表达式1;循环条件;表达式2) { 循环体 }
示例:在控制台中输出100个你好。
for(int i=0;i<100;i++) { Console.WriteLine("你好"); }
for循环是在C#语言中,运用最广泛、最多的一个循环。
4、foreach循环
从数组或集合中,依次取出每一项的数据,每取出一项数据,就把数据赋值给循环变量,每一次赋值后,运行一次循环体。
这个循环比较特殊,它只能用于遍历数组或集合,同时该循环为只读循环,不能在循环体中更改数组或集合。
//代码格式: foreach(数据类型 变量 in 数组或集合) { 循环体 }
示例:已知有一个int类型的List的集合,变量名为numbers,要求依次输出集合中的每一项。
//for循环表示如下: for(int i=0;i<numbers,Length;i++) { Console.WriteLine(numbers[i]); } //foreach表示如下: foreach(int item in numbers) { Console.WriteLine(item); }
虽然从代码上看,两者相差不多,但是foreach语句具有更高的运行效率。