当前位置:  开发笔记 > 编程语言 > 正文

当所有表达式都缺失时,C#for循环会做什么.例如for(;;){}

如何解决《当所有表达式都缺失时,C#for循环会做什么.例如for(;;){}》经验,为你挑选了2个好方法。

我只能假设它是一个无限循环.

我可以在for循环中省略三个表达式中的任何一个吗?省略时是否有默认值?



1> Alex Fort..:

是的,这是一个无限循环.

例子:

for (; ;) { } (又名:螃蟹)

while (true) { }

do { } while (true)



2> CraigTP..:

它确实是一个无限循环.

在引擎盖下,编译器/抖动将优化它以(有效地)简单的JMP操作.

它实际上也是如此:

while (true)
{
}

(除了这也被优化掉之外,因为while表达式的(真)部分通常需要某种比较,但是在这种情况下,没有什么可比较的.只需继续循环!)

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有