【问题标题】:Why string.format? [duplicate]为什么是 string.format? [复制]
【发布时间】:2013-05-23 07:14:15
【问题描述】:

为什么我们不应该简单地使用

 string s=product.Name+" has been saved";

代替:

string s=string.Format("{0} has been saved", product.Name);

【问题讨论】:

  • 因为在第一种情况下您错过了产品名称后的space
  • 我倾向于使用它,因为您可以在其中放置许多不同的数据类型,例如数字而不使用 .ToString ()。它只是看起来更整洁 IMO
  • @Andrew:你能举个例子吗?

标签: c# string.format


【解决方案1】:

你可以做到,没有人说你不能。但主要是为了可读性,第二种方法是首选。更明显的是,当您连接超过 2 个字符串时,它会变得非常混乱、难以阅读和维护。

【讨论】:

  • 没有性能优势?
  • @Aparan 如果您有多个要格式化的变量,实际上应该有一个优势。
  • @Aparan:性能优势在大多数情况下都无关紧要,选择一种或其他方法对可读性的影响更为重要。
【解决方案2】:

一个天真的原因是它有助于完全防止您在原始(未编辑)问题中提出的字符串格式问题,即

string s=product.Name+"has been saved";

需要一个额外的空间。格式方法有助于提高可读性。

【讨论】:

    【解决方案3】:

    如果您有许多要添加的字符串,则每个+ 操作都会创建新字符串。

    要添加许多字符串,您可以使用 StringBuilder ClassString.Format

    【讨论】:

      猜你喜欢
      • 2011-06-07
      • 2016-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      • 2012-01-10
      • 2015-01-05
      • 1970-01-01
      相关资源
      最近更新 更多