特别是在使用String.Format的C#世界中,一切都很常见,通常作为VB.NET开发人员,除非我必须*我不是String.Format,
我更喜欢正常的字符串连接,例如:
V1 = V2 & "test-x" & V3 & "-;"
对我来说,这比这更好:
V1 = String.Format("{0} test-x {1} -;", V2, V3)
我错过了什么吗?或者这只是个人偏好?
使用String.Format的原因(来自答案)(我会尽量保持最新)
**有时我需要动态更改样式或替换内容然后使用String.Format *
答案 0 :(得分:14)
如果您打算本地化您的应用程序(并且通常很难在开始时对其进行排序),那么String.Format将是首选,原因有两个:
答案 1 :(得分:5)
每个人都发布了有关string.format的可读性(我接受它,并且它具有null ref和国际化的好处是的)但是没有人提到它比简单的字符串连接(小数字)相当慢元素)或使用StringBuilder(大量的concats)。
如果性能很重要或者您正在进行大量操作(因此很快将重要),那么您应该避免格式化。
编辑:按要求引用;)
http://msmvps.com/blogs/jon_skeet/archive/2008/10/06/formatting-strings.aspx
http://blog.briandicroce.com/2008/02/04/stringbuilder-vs-string-performance-in-net/
答案 2 :(得分:3)
Karl Seguin在这里发表了一篇很好的文章:code better - use string.format解释了一些好处。
答案 3 :(得分:1)
第一种方法很难阅读,甚至更难以打字。同样,一旦你开始进行大量的连接,就需要考虑性能因素。
答案 4 :(得分:1)
如果您实际上是格式化值({0:d}等),则String.Format比字符串连接要好得多。
答案 5 :(得分:1)
对我而言,这取决于内容。连接字符串会创建其他字符串对象(因为strings are immutable in .NET),但主要是它是可读性问题。
有时候当你想在字符串中放置换行符时会变得复杂,在这种情况下我倾向于使用类似的东西:
StringBuilder.AppendLine(string.Format("Some text {0}.", "here"));
答案 6 :(得分:0)
我个人发现String.Format更容易阅读,字符串显示为一个连续的文本。这取决于有多少参数,如果你需要寻找正确的参数来理解它,那么......
答案 7 :(得分:0)
我认为这更像是一种偏好。然而,一旦我开始经常使用它,我的大部分团队都会效仿。当我们讨论它时,人们一致认为这更容易理解和阅读。