【发布时间】:2010-06-23 14:59:24
【问题描述】:
这些示例之间有区别吗?在这种情况下我应该使用哪个?
var str1 = "abc" + dynamicString + dynamicString2;
var str2 = String.Format("abc{0}{1}", dynamicString, dynamicString2);
var str3 = new StringBuilder("abc").
Append(dynamicString).
Append(dynamicString2).
ToString();
var str4 = String.Concat("abc", dynamicString, dynamicString2);
有类似的问题:
-
Difference in String concatenation 仅询问
+运算符,答案中甚至没有提到它被转换为 String.Concat - What's the best string concatenation method 这与我的问题并没有真正的关系,它要求最好,而不是像这个问题那样比较连接字符串及其输出的可能方法。
这个问题是询问每种情况下会发生什么,这些示例的真正输出是什么?它们有什么区别?在这种情况下我应该在哪里使用它们?
【问题讨论】:
-
顺便说一下,根据 C# 规范,字符串上的
+运算符映射到String.Concat。 -
各位,这不是重复的,我不管哪个效率更高。
-
对我来说看起来很重复。当然,旧问题的许多答案都与这个问题有关。这也不是唯一的骗局——.NET 中存在大量关于字符串连接的问题。但也许有些人会不同意并投票重新开放 - 这取决于他们。
-
@George,另一个问题(和答案)的重点完全在于速度。那里接受的答案很糟糕。
-
@Bruno 回答您的问题,请参阅:stackoverflow.com/questions/2607985/… 和 stackoverflow.com/questions/21078/… 实际上,第二个问题实际上回答了您的问题。是的,你的问题之前已经被问过了,无穷无尽。
标签: c# .net string string-concatenation