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. 微信公众号开发——获取access_token(PHP版)

    access_token是调用微信接口的唯一凭据,每两小时刷新一次,我们需要每两小时就获取一次access_token. <?php class TokenUtil { //获取access_t ...

  2. IPC进程之间通信的几种方式

    概念 进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是 共享内存区 .但是,系统空间却是 ...

  3. HDU2262;Where is the canteen(高斯消元+期望)

    传送门 题意 给出一张图,LL从一个点等概率走到上下左右位置,询问LL从宿舍走到餐厅的步数期望 分析 该题是一道高斯消元+期望的题目 难点在于构造矩阵,我们发现以下结论 设某点走到餐厅的期望为Ek 1 ...

  4. bzoj 1103: [POI2007]大都市meg【dfs序+树状数组】

    很明显的暗示,就是在树的dfs序上维护树状数组,加减的时候差分即可 #include<iostream> #include<cstdio> #include<cstrin ...

  5. bzoj 1911: [Apio2010]特别行动队【斜率优化dp】

    仔细想想好像没学过斜率优化.. 很容易推出状态转移方程\( f[i]=max{f[j]+a(s[i]-s[j])^2+b(s[i]-s[j])+c} \) 然后考虑j的选取,如果选j优于选k,那么: ...

  6. 【原创】《从0开始学RocketMQ》—单机搭建

    内容目录 1. RocketMQ是什么? 2. 下载并解压 3. 启动NameServer 4. 启动 Broker 5. 关闭消息队列 1. RocketMQ是什么? RocketMQ是一种消息队列 ...

  7. SQL 初级教程学习(二)

    1.SQL 语句从 "Websites" 表中选取头两条记录: SELECT * FROM Websites LIMIT 2; SELECT TOP 50 PERCENT * FR ...

  8. 【css】rem及其替换方案

    移动端的web前端开发其实经常会有一些令人头疼的问题,比如屏幕适配.1像素问题等,rem也是之前在屏幕适配上比较完善的一套方案,但是随着业务的深入,任何方案都有其优秀与不足的地方,rem这套方案也一样 ...

  9. Python上下文管理器(Context managers)

    上下文管理器(Context managers) 上下文管理器允许你在有需要的时候,精确地分配和释放资源. 使用上下文管理器最广泛的案例就是with语句了.想象下你有两个需要结对执行的相关操作,然后还 ...

  10. 积分图像的应用(一):局部标准差 分类: 图像处理 Matlab 2015-06-06 13:31 137人阅读 评论(0) 收藏

    局部标准差在图像处理邻域具有广泛的应用,但是直接计算非常耗时,本文利用积分图像对局部标准差的计算进行加速. 局部标准差: 标准差定义如下(采用统计学中的定义,分母为): 其中. 为了计算图像的局部标准 ...