Asp.net mvc 字符串和字符串生成器之间的区别

Asp.net mvc 字符串和字符串生成器之间的区别,asp.net-mvc,stringbuilder,Asp.net Mvc,Stringbuilder,我怀疑是否应该使用字符串或字符串生成器在mvc页面中附加html元素,如“div”和其他元素。这件事还有别的办法吗 谢谢 我读到Microsoft建议在您预测有6个以上的连接时使用StringBuilder。我读到Microsoft建议在您预测有6个以上的连接时使用StringBuilder。每当您执行附加文本时,您应该始终使用StringBuilder 使用字符串会重复创建字符串的新实例,因此效率低下。无论何时执行附加文本,都应始终使用stringbuilder 使用字符串会重复创建字符串的新

我怀疑是否应该使用字符串或字符串生成器在mvc页面中附加html元素,如“div”和其他元素。这件事还有别的办法吗


谢谢

我读到Microsoft建议在您预测有6个以上的连接时使用StringBuilder。

我读到Microsoft建议在您预测有6个以上的连接时使用StringBuilder。

每当您执行附加文本时,您应该始终使用StringBuilder


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

无论何时执行附加文本,都应始终使用stringbuilder


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

请查看此帖子,了解以下方面的深度知识:

请查看此帖子,了解以下方面的深度知识:

StringBuilder
是一种方法。
字符串
包含对不可变(固定)字符串的引用,而附加到字符串的效率非常低。如果您的目的是重复执行附录,那么这正是
StringBuilder
的设计目的。

StringBuilder
就是这样做的。
字符串
包含对不可变(固定)字符串的引用,而附加到字符串的效率非常低。如果您的目的是重复执行附加,那么这正是StringBuilder的设计目的。

当需要多个字符串时,可以使用StringBulider 连接。 StringBuilder哪个更有效,因为它 包含可变字符串缓冲区。NET字符串是不可变的 这就是创建新字符串对象的原因
每次我们修改它(插入、追加、删除等)

当需要使用多个字符串时,可以使用字符串生成器 连接。 StringBuilder哪个更有效,因为它 包含可变字符串缓冲区。NET字符串是不可变的 这就是创建新字符串对象的原因 每次我们修改它(插入、追加、删除等)

如果您经常更改字符串(添加、删除、更改、替换字符),则应该使用,因为这样效率更高。若你们只做简单的操作,你们应该使用字符串

问题是它是不可变的,所以

string text = myStringVariable + "new string"
导致将创建文本变量的新实例。如果您在string类上执行许多操作,那么您将有许多string对象的实例。

如果您经常更改string(添加、删除、更改、替换字符),则应该使用,因为这样更有效。若你们只做简单的操作,你们应该使用字符串

问题是它是不可变的,所以

string text = myStringVariable + "new string"

导致将创建文本变量的新实例。如果您在string类上执行许多操作,那么您将有许多string对象的实例。

老实说,最后说一些不寻常的话这真的没关系。差异是如此之小,以至于你不应该在意这一点,你应该把时间花在其他有影响的事情上

查看Jeff的这篇文章,其中解释了所有这些(也是在web环境中,当他创建StackOverflow时)


老实说,在结尾说一些不寻常的话其实并不重要。差异是如此之小,以至于你不应该在意这一点,你应该把时间花在其他有影响的事情上

查看Jeff的这篇文章,其中解释了所有这些(也是在web环境中,当他创建StackOverflow时)


Inmutable,这意味着对字符串的任何更改都会导致运行时创建一个新字符串并放弃旧字符串。@rob:是的-我的意思是-但是你的解释更清楚!谢谢你的解释。:)Inmutable,这意味着对字符串的任何更改都会导致运行时创建一个新字符串并放弃旧字符串。@rob:是的-这就是我的意思-但是你的解释更清楚!谢谢你的解释。:)谢谢。在我们的项目中我们可以使用字符串生成器多次对硬件有限制吗?谢谢。在我们的项目中我们可以使用字符串生成器多次对硬件有限制吗?很好的观点。但是你能解释一下关于不可变的东西我只是不理解。提前谢谢。很好的观点。但是你能解释一下关于不可变的东西吗我只是不明白。提前谢谢。如果你喜欢答案,至少要投票。好的,谢谢你的建议。:)如果你愿意的话,至少要投票。好的,谢谢你的建议