gpt4 book ai didi

c# - 在 While 循环中使用 1 == 1 或 true

转载 作者:太空狗 更新时间:2023-10-29 17:41:26 25 4
gpt4 key购买 nike

我最近遇到一个使用 1 == 1 而不是 true 的 while 语句。

例子:

while (1 == 1) 
{
// Do something
}

代替:

while (true)
{
// Do something
}

它们看起来都是正确的并且生成相同的结果,但我想知道(除了为什么开发人员会使用 1 == 1 而不是 true - 风格/习惯除外)从编译器的角度来看这有什么影响,是使用比较运算符而不是 true 会有更大的开销吗?

最佳答案

没有区别。编译器会将它们优化为相同的 IL。

1 == 1

IL_0000:  nop         
IL_0001: br.s IL_0005
IL_0003: nop
IL_0004: nop
IL_0005: ldc.i4.1
IL_0006: stloc.0 // CS$4$0000
IL_0007: br.s IL_0003

正确

IL_0000:  nop         
IL_0001: br.s IL_0005
IL_0003: nop
IL_0004: nop
IL_0005: ldc.i4.1
IL_0006: stloc.0 // CS$4$0000
IL_0007: br.s IL_0003

任何一种选择都纯粹是开发人员的风格偏好。

关于c# - 在 While 循环中使用 1 == 1 或 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32764923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com