2011-03-31 105 views
1

我有疑问是否使用字符串或字符串生成器来追加HTML元素,如“div”和其他人在我的页面在mvc中。有没有其他的方法来处理这件事。字符串和字符串生成器之间的差异

谢谢。

+1

ATLEAST办给予好评,如果你喜欢的答案建议 – 2011-04-04 11:27:59

+0

好吧感谢。 :) – Shilpa 2011-04-04 11:46:02

回答

0

老实说,最后说些不寻常的东西真的没关系。差异非常小,您不应该在乎这一点,您应该将时间投入其他有所作为的事情上。

查看Jeff的这篇文章,其中解释了所有这些内容(还在Web环境中创建StackOverflow时)。

Coding horror article about why does not matter how do you create strings

+0

伟大的观点。但是,你能解释我关于不可改变的事情,我只是不明白它。提前感谢。 – Shilpa 2011-03-31 07:10:10

2

我读过,当你预测有多于6个连接时,Microsoft建议使用StringBuilder。

1

每当你执行附加文本时,你应该总是使用stringbuilder。

使用字符串会反复创建字符串的新实例,因此效率低下。

2

StringBuilder是要走的路。 A String持有对不可变(固定)字符串的引用,并且追加到字符串的效率非常低。如果你的意图是重复执行追加,那么这正是StringBuilder的设计目的。

+3

不可变,这意味着对字符串的任何更改都会导致运行时创建新字符串并放弃旧字符串。 – 2011-03-31 06:54:38

+0

@rob:是的 - 这就是我的意思 - 但你的解释更清晰! – 2011-03-31 09:56:41

+0

感谢您的解释。 :) – Shilpa 2011-04-04 11:47:32

0

当多个字符串连接为 时,可以使用字符串bulider。 StringBuilder更高效,因为它的确包含一个可变字符串缓冲区。 .NET字符串是不可变的 这就是为什么每当我们改变它(插入,追加,删除等)时,创建一个新字符串对象的原因 。

+0

Thanks.Is对我们项目中的hw有很多次限制,我们可以使用字符串生成器? – Shilpa 2011-03-31 07:02:10

2

如果您更改字符串(添加,删除,更改,替换字符),您应该使用StringBuilder,因为它更有效。如果你只是简单的操作,你应该使用字符串。

string的问题是,它是不变的,所以operatrion

string text = myStringVariable + "new string" 

导致该文本变量的新实例将被创建。如果你对字符串类做了很多操作,那么你将会有很多字符串对象的实例。