我知道在 C# 中使用 StringBuilder 具有明显的性能优势,但是内存差异如何?
StringBuilder 使用更多内存吗?顺便说一句,字符串生成器本质上做了什么不同的事情,使其速度如此之快?
简短回答:StringBuilder
适用于连接任意数量的字符串(您在编译时不知道这些字符串)的情况。
If you do知道您在编译时组合的字符串,StringBuilder
基本上没有意义,因为您不需要其动态调整大小功能。
示例 1:您想要组合“cat”、“dog”和“mouse”。这正好是 11 个字符。你可以简单地分配一个char[]
长度为 11 的数组,并用这些字符串中的字符填充它。这本质上就是string.Concat
does.
示例 2:您想要将未指定数量的用户提供的字符串连接成单个字符串。由于要连接的数据量事先未知,因此使用StringBuilder
在这种情况下是合适的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)