在C#中,一段时间以来一直困扰着我,问题是什么是While和For循环之间的实际主要区别.它只是纯粹的可读性,即; 你可以在for循环中完成的所有事情都可以在while循环中完成,只需在不同的地方完成.所以请看这些例子:
int num = 3; while (num < 10) { Console.WriteLine(num); num++; }
VS
for (int x = 3; x < 10; x++) { Console.WriteLine(x); }
两个代码循环产生相同的结果,并且两者之间的唯一区别是for循环强制您声明一个新变量并且还在开始时设置每个循环周期的迭代值?也许我在任何重大差异方面都缺少其他东西,但如果有人可以直截了当地说明这一点,那就太好了.谢谢.
两者之间的唯一区别是for循环强制你声明一个新变量,并在开始时每个循环周期设置迭代值?
for循环强迫你什么都不做.您可以省略3个元素中的任何一个.最小的形式是
for(;;) // forever { DoSomething(); }
但是你可以使用3个元素来编写更简洁的代码:
for(initializer; loop-condition; update-expression) { controlled-statements; }
相当于:
{ initializer; while(loop-condition) { controlled-statements; continue_target: // goto here to emulate continue update-expression; } }
注意外{}
括号中for(int i = 0; ...; ...)
的i
是本地的for循环.明显的好处.
但是使用的主要区别在于你continue;
在循环内部调用时,在循环中比在for循环中更容易得到逻辑错误.