猿问

C#是否优化字符串文字的串联?

例如,编译器是否知道要翻译


string s = "test " + "this " + "function";


string s = "test this function";

从而避免使用字符串连接对性能造成影响?


长风秋雁
浏览 477回答 3
3回答

FFIVE

是。这由C#规范保证。在C#3.0规范的7.18节中:只要表达式满足上面列出的要求,就会在编译时对表达式求值。即使表达式是包含非恒定构造的较大表达式的子表达式,也是如此。(“上面列出的要求”包括应用于两个常量表达式的+运算符。)
随时随地看视频慕课网APP
我要回答