none
经过编译后的优化是不是结果相同 RRS feed

  • 问题

  • 在C#中存在以下两条语句:


    if(boolean-expression)
     embedded-statement(only one statement)


    if(boolean-expression)
    {
     embedded-statement(only one statement)
    }

    两条语句的编译应该是不同的吧?经过编译后的优化是不是结果相同?


    做最好的自己
    2009年8月31日 0:00

答案

  • 这两种是一样的,只是不同的编程风格或习惯而已。
    知识改变命运,奋斗成就人生!
    2009年8月31日 0:59
    版主
  • 你哈,这是一样的,建议使用第二种便于阅读


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年8月31日 1:29
    版主
  • 设计规范中用了很强的语气建议这么写:
    if(boolean-expression){
     embedded-statement(only one statement)
    }

    把左括号放在表达式的末尾。
    说实在的,有点不习惯。我个人还是喜欢楼主贴出的第二种风格。
    2009年8月31日 2:04
  • 你好,生成的IL是一样的,这种写法不属于优化的范畴。只是个人习惯不同,有些程序员喜欢只有一行的时候不加大括号,不过个人还是建议使用大括号比较方便阅读。
    jon.valett@gmail.com
    2009年8月31日 2:15
    版主
  • 你好!
         这两种形式编译完都是一样的,生成的IL代码是一样的!写不写大括号并不能引起编译器做不同的处理!
    周雪峰
    2009年8月31日 6:10
    版主

全部回复

  • 这两种是一样的,只是不同的编程风格或习惯而已。
    知识改变命运,奋斗成就人生!
    2009年8月31日 0:59
    版主
  • 你哈,这是一样的,建议使用第二种便于阅读


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年8月31日 1:29
    版主
  • 设计规范中用了很强的语气建议这么写:
    if(boolean-expression){
     embedded-statement(only one statement)
    }

    把左括号放在表达式的末尾。
    说实在的,有点不习惯。我个人还是喜欢楼主贴出的第二种风格。
    2009年8月31日 2:04
  • 你好,生成的IL是一样的,这种写法不属于优化的范畴。只是个人习惯不同,有些程序员喜欢只有一行的时候不加大括号,不过个人还是建议使用大括号比较方便阅读。
    jon.valett@gmail.com
    2009年8月31日 2:15
    版主
  • 你好!
         这两种形式编译完都是一样的,生成的IL代码是一样的!写不写大括号并不能引起编译器做不同的处理!
    周雪峰
    2009年8月31日 6:10
    版主