重复: 串输出:格式或concat在C#?

特别是在C#世界使用的字符串。格式的一切都是真的常见,通常作为VB.NET 开发,除非我得*我不串。格式,

我喜欢正常的字符串连接,如:

V1 = V2 & "test-x" & V3 & "-;"

对我来说就比这更好的:

V1 = String.Format("{0} test-x {1} -;", V2, V3)

我失去了一些东西?或者这只是一个人偏好吗?

原因使用的字符串。格式(从解答) (我会试着保持这个日期)

  • 本地化是如此的容易得多,如果您使用的字符串格式
  • 这显然是更容易改变格式的输入
  • 这是更具可读性(但是这是个人)
  • 更好的性能

**有时候我需要改变风格的或更换的东西动态然后我用的字符串。格式*

有帮助吗?

解决方案

如果你曾经去本地化的应用程序(而且它往往很难规则,在开始),然后串。格式是可以从首选,原因有两个:

  1. 你只有一串的文字翻译
  2. 你可以改变订单的价值,它可能会更有意义的另一种语言。

其他提示

每个人都已经发布的有关如何可读串。格式(这是我接受,它有空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"));

我找到那串。格式更易于阅读,串是呈现为一个连续的文本。它虽然取决于许多参数,如果你需要去寻找正确的参数,以了解它,然后...

我相信更多的偏好的问题。然而一旦我开始使用它定期的大部分我的团队紧随其后。当我们讨论商定,这只是更容易理解和阅读。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top