String Concat using constants - performance

前端 未结 2 918
时光取名叫无心
时光取名叫无心 2020-12-21 02:36

Assume I have the following string constants:

const string constString1 = \"Const String 1\";
const string constString2 = \"Const String 2\";
const string co         


        
2条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-21 03:09

    The first variant will be best, but only when you are using constant strings.

    There are two compilator optimizations (from the C# compiler, not the JIT compiler) that are in effect here. Lets take one example of a program

    const string A = "Hello ";
    const string B = "World";
    
    ...
    string test = A + B;
    

    First optimization is constant propagation that will change your code basically into this:

    string test = "Hello " + "World";
    

    Then a concatenation of literal strings (as they are now, due to the first optimization) optimization will kick in and change it to

    string test = "Hello World";
    

    So if you write any variants of the program shown above, the actual IL will be the same (or at least very similar) due to the optimizations done by the C# compiler.

提交回复
热议问题