🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# while(C# 参考) **while** 语句执行一个语句或语句块,直到指定的表达式计算为 **false**。 ``` class WhileTest { static void Main() { int n = 1; while (n < 6) { Console.WriteLine("Current value of n is {0}", n); n++; } } } /* Output: Current value of n is 1 Current value of n is 2 Current value of n is 3 Current value of n is 4 Current value of n is 5 */ ``` ``` class WhileTest2 { static void Main() { int n = 1; while (n++ < 6) { Console.WriteLine("Current value of n is {0}", n); } } } /* Output: Current value of n is 2 Current value of n is 3 Current value of n is 4 Current value of n is 5 Current value of n is 6 */ ``` 由于 **while** 表达式的测试在每次执行循环前发生,因此 **while** 循环执行零次或更多次。这与执行一次或多次的 [do](https://msdn.microsoft.com/zh-CN/library/370s1zax.aspx) 循环不同。 当 [break](https://msdn.microsoft.com/zh-CN/library/adbctzc4.aspx)、[goto](https://msdn.microsoft.com/zh-CN/library/13940fs2.aspx)、[return](https://msdn.microsoft.com/zh-CN/library/1h3swy84.aspx) 或 [throw](https://msdn.microsoft.com/zh-CN/library/1ah5wsex.aspx) 语句将控制权转移到 **while** 循环之外时,可以终止该循环。若要将控制权传递给下一次迭代但不退出循环,请使用 [continue](https://msdn.microsoft.com/zh-CN/library/923ahwt1.aspx) 语句。请注意,在上面三个示例中,根据 int n 递增的位置的不同,输出也不同。在下面的示例中不生成输出。 ``` class WhileTest3 { static void Main() { int n = 5; while (++n < 6) { Console.WriteLine("Current value of n is {0}", n); } } } ``` ## C# 语言规范 有关详细信息,请参阅 [C# 语言规范](https://msdn.microsoft.com/zh-CN/library/ms228593.aspx)。该语言规范是 C# 语法和用法的权威资料。 ## 请参阅 [C# 参考](https://msdn.microsoft.com/zh-CN/library/618ayhy6.aspx) [C# 编程指南](https://msdn.microsoft.com/zh-CN/library/67ef8sbd.aspx) [C# 关键字](https://msdn.microsoft.com/zh-CN/library/x53a06bb.aspx) [While 语句 (C++)](https://msdn.microsoft.com/zh-CN/library/0c98k0ks.aspx) [迭代语句(C# 参考)](https://msdn.microsoft.com/zh-CN/library/32dbftby.aspx)