String.格式或没有?[重复]
-
20-08-2019 - |
题
重复: 串输出:格式或concat在C#?
特别是在C#世界使用的字符串。格式的一切都是真的常见,通常作为VB.NET 开发,除非我得*我不串。格式,
我喜欢正常的字符串连接,如:
V1 = V2 & "test-x" & V3 & "-;"
对我来说就比这更好的:
V1 = String.Format("{0} test-x {1} -;", V2, V3)
我失去了一些东西?或者这只是一个人偏好吗?
原因使用的字符串。格式(从解答) (我会试着保持这个日期)
- 本地化是如此的容易得多,如果您使用的字符串格式
- 这显然是更容易改变格式的输入
- 这是更具可读性(但是这是个人)
- 更好的性能
**有时候我需要改变风格的或更换的东西动态然后我用的字符串。格式*
解决方案
如果你曾经去本地化的应用程序(而且它往往很难规则,在开始),然后串。格式是可以从首选,原因有两个:
- 你只有一串的文字翻译
- 你可以改变订单的价值,它可能会更有意义的另一种语言。
其他提示
每个人都已经发布的有关如何可读串。格式(这是我接受,它有空ref和国际化好处是),但没有人提到,它的 相当大 慢于简单的字符串连接(小量元素),或使用StringBuilder(大数目的,可以连接).
如果业绩问题或者你正在做大量的行动(所以性能很快 将 论),那么你应该避免的格式。
编辑:引用作为请求;)
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/
不错的文章在这里,通过卡尔*塞甘: 代码更好地使用的字符串。格式 解释一些利益。
第一种方法是很难阅读,甚至更多的孔类型。以及一旦你开始做了很多那些串联的,有效的考虑因素要考虑。
如果你是真的格式化数值({0:d}等等), String.格式是一个很好的阅读于字符串连接。
对我来说,这取决于内容。串连串并创建其他串的对象(因为 串不可改变的。净),虽然主要是一个readbility问题。
有时变得复杂,当你想到的地方newline characters in a string,在这种情况下,我倾向于使用这样的:
StringBuilder.AppendLine(string.Format("Some text {0}.", "here"));
我找到那串。格式更易于阅读,串是呈现为一个连续的文本。它虽然取决于许多参数,如果你需要去寻找正确的参数,以了解它,然后...
我相信更多的偏好的问题。然而一旦我开始使用它定期的大部分我的团队紧随其后。当我们讨论商定,这只是更容易理解和阅读。