2013-05-28 49 views
0

为什么我们不应该简单地用为什么string.format?

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

代替:

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

因为你错过了'space'产品名称 – V4Vendetta

+1

后,我倾向于使用它,因为你可以把很多不同的数据类型在那里,例如没有使用.ToString()的数字。它看起来整洁国际海事组织 – Andrew

+0

http://blogs.msdn.com/b/ricom/archive/2004/03/12/performance-quiz-1-of-a-series.aspx – Freelancer

回答

3

你可以做到这一点,没有人说你不能。但主要为了可读性,第二种方法是首选。一旦你连接了两个以上的字符串,它就更加明显了,它变得非常混乱,难以阅读和保存。

+0

没有性能优势? – Aparan

+0

@Aparan Nope ... –

+1

@Aparan经历过这一次http://blogs.msdn.com/b/ricom/archive/2004/03/12/performance-quiz-1-of-a-series.aspx – Freelancer

4

一个天真的理由是,它有助于防止你已经在你的(未经编辑的)问题提交即

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

需要额外的空间完全字符串格式化问题。格式方法有助于可读性。

3

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

对于添加许多字符串,你可以在第一种情况下使用StringBuilder ClassString.Format

相关问题