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语句具有更高的运行效率。

C#语言中循环分类总结的更多相关文章

  1. C语言中不同类型的循环(Different types of loops in C)

    C语言中有三种类型的循环:for,while,do-while. while循环先判断循环条件. while (condition) { //gets executed after condition ...

  2. C语言中简单的for循环和浮点型变量

    浮点型变量:常数中带有小数点的叫做浮点型 以下用for循环写一个摄氏度和华氏度的转换的C程序 [见 http://www.linuxidc.com/Linux/2013-08/88513.htm ] ...

  3. 分类-回归树模型(CART)在R语言中的实现

    分类-回归树模型(CART)在R语言中的实现 CART模型 ,即Classification And Regression Trees.它和一般回归分析类似,是用来对变量进行解释和预测的工具,也是数据 ...

  4. C语言中储存类别和内存管理

    C语言中储存类别和内存管理 储存类别 C语言提供了多种储存类别供我们使用,并且对应的有对应的内存管理策略,在了解C中的储存类型前,我们先了解一下与储存类型相关的一些概念. 1. 基础概念 对象:不同于 ...

  5. JAVA语言中的修饰符

    JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...

  6. 在易语言中调用MS SQL SERVER数据库存储过程方法总结

    Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...

  7. Coursera-Getting and Cleaning Data-week4-R语言中的正则表达式以及文本处理

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Thursday, January 29, 2015 补上第四周笔记,以及本次课程总结. 第四周 ...

  8. 2.C语言中的关键字

    1.auto 修饰局部变量,编译器默认所有局部变量都是用auto来修饰的,所以在程序中很少见到. 2.static 它作用可大了,除了可以修饰变量,还可以修饰函数,修饰变量,改变其作用域和生命周期,修 ...

  9. C语言中两位ASCII码可以表示汉字

    最近偶然有人问到这个相关字符编码的问题,所以百度了下参考了这两个资料,进行了简单分析. ******************************************************** ...

随机推荐

  1. 【179】IDL 读写 NetCDF 文件

    NetCDF(network Common Data Form)由位于科罗拉多州波尔市的 Unidata 程序中心开发,主要应用于大气科学的研究.NetCDF 的数据模式具有简单性和灵活性的特点.Ne ...

  2. bzoj 3307: 雨天的尾巴【树剖lca+树上差分+线段树合并】

    这居然是我第一次写线段树合并--所以我居然在合并的时候加点结果WAWAWAMLEMLEMLE--!ro的时候居然直接指到la就行-- 树上差分,每个点建一棵动态开点线段树,然后统计答案的时候合并即可 ...

  3. bzoj 4849: [Neerc2016]Mole Tunnels【模拟费用流】

    参考:https://www.cnblogs.com/CQzhangyu/p/6952371.html 费用流很简单,考虑但是会T. 考虑费用流的本质,流一次需要要找一个能够从当前点到达的距离最小的点 ...

  4. ES6 我的总结学习

    1 let 和 const let 的作用域与 const 命令相同:只在声明所在的块级作用域内有效.且不存在变量提升 . 1.1 let let 所声明的变量,可以改变. let a = 123 a ...

  5. yml文件教程

    地址:http://www.ruanyifeng.com/blog/2016/07/yaml.html 原来三个横线(---)是用来区分多个文件的,像下面就是指定了两个配置. spring: appl ...

  6. 笔记——malloc、free、不同数据类型操作、.pyc文件、python安装第三方包、验证一个网站的所有链接有效性

    C — malloc( ) and free( ) C 语言中使用malloc( )函数申请的内存空间,为什么一定要使用free释放? **malloc()函数功能:是从堆区申请一段连续的空间,函数结 ...

  7. [洛谷2839/国家集训队]middle

    Description 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整.给你一个长度为n的序列s.回答Q个这样的询问:s的左端点在[a,b]之 ...

  8. 题解报告:hdu1994利息计算

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1994 Problem Description 为自行解决学费,chx勤工俭学收入10000元以1年定期 ...

  9. Robot Framework and Ride

    Robot framework是诺西(NSN)开源的一套自动化测试工具,在通信设备自动化测试中很实用,它基于Python开发,主要模拟NMS网管配置数据到网元NODE,并读取配置看配置是否生效,ECI ...

  10. shell 2 解析

    ---- shell 3 /home/oracle/utility/macro/call_autopurge_arch.sh Description: Call purge archive log f ...