【发布时间】:2015-02-03 15:00:19
【问题描述】:
代替
string someString = "AB";
偶然发现
string someString = "A" + "B";
是否有任何技术解释使第二种方式更有利?
【问题讨论】:
-
编译器会将两者编译成相同的IL,所以没有区别。
-
没有区别,因为编译器可以对代码中的文字字符串做很多优化。我最好的猜测是这段代码用于读取类似
string someString = "A" + integerValue + "B";的内容,随后被编辑以删除非文字部分,他们做了一个懒惰的工作。 -
这个问题属于 SO 吗?具体问题出在哪里?
-
请注意,这个主题已经在 SO 上讨论过几次 - 比如 stackoverflow.com/questions/5164436/…(比较有点不同,但也回答了这个问题)