String.Format还是不?

dr.*_*vil 6 .net format string.format coding-style

重复来自:字符串输出:C#中的格式或concat?

特别是在使用String.Format的C#世界中,一切都很常见,通常作为VB.NET开发人员,除非我必须*我不是String.Format,

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

V1 = V2 & "test-x" & V3 & "-;"
Run Code Online (Sandbox Code Playgroud)

对我而言,这比这更好:

V1 = String.Format("{0} test-x {1} -;", V2, V3)
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?或者这仅仅是个人偏好?

使用String.Format的原因(来自答案)(我会尽量保持最新)

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

**有时我需要动态更改样式或替换东西然后我使用String.Format*

Wil*_*ean 13

如果您打算本地化您的应用程序(并且通常很难在开始时对其进行排序),那么String.Format将是首选,原因有两个:

  1. 您只有一个要翻译的字符串文字
  2. 您可以更改值的顺序,这可能在另一种语言中更有意义.


ann*_*ata 5

每个人都已经张贴了关于如何可读的String.Format是(我接受,而且它具有零裁判和国际化的好处是),但没有人提到,这是明显比简单的字符串连接速度较慢(小元素的数量),或使用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/