|
|
1
5
就像Soner Gnl在评论中所说的那样,你总是可以轻松地测试这个问题。 |
|
|
2
2
我在C#控制台应用程序中编写了这些方法,并使用Telerik JustDecompile分析了生成的程序集的IL。
两种方法的IL结果相同。
编辑:在我的第一个回答中,我告诉我在生成的IL代码中发现了一些额外的No指令,但这是因为我在调试模式下编译了我的应用程序。在释放模式下,没有区别。 |
|
|
3
2
结果没有差别。
没有
当
通过添加括号,您可以看到的唯一区别是它创建了一个范围,但这仅用于编译器确定标识符的范围,编译的代码仍然是相同的。 |
|
|
4
1
我不能说编译的代码是什么,但让我们这样看: 您可以有一个if条件,其中if中包含多行
您还可以有一个if条件,其中包含单行语句
现在,假设else之后的if条件是单行语句。。。
|
|
|
5
0
考虑
在上面的代码中,如果条件1为false,执行将转到else。然后在其他情况下,它将再次检查条件2是否为真。 现在考虑以下代码
现在在上面的代码中,如果条件1为false,则只有当条件2为true时,控制才会转到if-else。 所以从 this 参考 因为在IF-ELSE IF-EELSE树中只执行一条语句。如果前面的表达式为FALSE,ELSE IF可以提供执行其他语句的选项,这非常有用,因为ELSE IF的语句只有在其表达式求值为TRUE时才会执行;另一方面,如果IF的表达式求值为FALSE,则始终执行ELSE的语句。 |
|
Sweepy Dodo · JSON lite的格式化 1 年前 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
Zegarek · Postgresql递归查询未提供预期结果 1 年前 |
|
|
Joe · 为什么这两个查询之间的性能存在如此大的差异? 2 年前 |
|
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 2 年前 |