|
|
1
36
鉴于此输入:
…您得到以下输出:
我想说,非常相似(甚至完全相同)。 |
|
|
2
21
我更喜欢
|
|
3
2
我还没有检查输出代码,但是应该没有任何区别。任何一个好的编译器都会进行足够简单的循环优化,以确保条件是一个常量表达式,因此不需要每次迭代都进行检查。 如果一个比另一个快,C编译器的编写者就需要一些东西来展示给他们。。。 |
|
|
4
1
如果可以的话,我建议你看一个稍微不同的问题。如果您经常使用这两种方法中的任何一种,那么您的代码结构可能很差。虽然像嵌入式系统这样的东西确实可以永远运行,但大多数普通代码中的循环却不能。写一个循环
声称
|
|
|
5
0
它们编译成相同的东西。您可以编写一个实现这两种方法的测试应用程序,然后使用ILDASM确认它们是相同的。 |
|
|
6
0
正如其他人所提到的,对于任何现代编译器,它应该是完全没有区别的。
|
|
|
7
0
调试程序集一直符合while(true)。使用反射器,你可以看到结果。
检查
同一代码的优化版本会为
对于冗长,这里是优化的
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |