在c#中for和while有什么区别?使用范围?

如题所述

楼上几位 尤其 1楼 2楼 说的都很好

我补充几句:

事实上 任何一个for循环都可以转化为while,任何一个while也都可以转化为for
在语法上他们都是一样的
比如
for(表达式1;表达式2;表达式3)
{
循环体
}

转化为while就是

表达式1;
While(表达式2)
{
循环体语句;
表达式3;
}

同样
while(条件)
{循环体}
转化为for
for( ; 条件 ; )
{循环体}

因此说他们在适用范围上是等价的

至于编程的时候到底用哪个 取决于两个方面
1、程序员的偏好
2、语句逻辑上与要解决的问题的相似度(也就是读起来更好理解,更接近描述的问题)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-01
原理一样,同样是条件为true时执行循环。
while(true){} 和 for(;true;){}效果一样
只是for()的用法比较灵活,具体使用的时候就会有更深的体会了。

但是for循环一般用于你知道要循环几次,而while循环一般用于你完全不知道要循环几次的情况.
第2个回答  2010-09-01
不同的循环不同的用法,只是for一般在确定次数的情况下用,而while当次数不确定的时间用的比较多一点。
根据时间情况,运用就行。
第3个回答  2010-09-01
不同的循环不同的用法,for循环用在集合或者数组上比较多一些,因为可以循环操作一个局部变量,大多是int或者double,while循环一般用在迭代器中或者自定义条件也可以,当然,如果此循环体中没有用到索引器之类的东西,用迭代的方式还是比较好的,数组与集合同样能用迭代。
第4个回答  2013-03-09
透过汇编看天下之--for(;;)与while(1)究竟有什么不同?

这里有详细提到呢
http://blog.csdn.net/lizhiliang06/article/details/8644822
相似回答