前言
嗨,大家好!
之前我们在文章《C# String 类型:那些你可能不知道的秘密》分享了 C# String 类型的一些小秘密和小技巧,其中提到一个性能提升的小贴士:在拼接字符串时,使用 StringBuilder
替代 String
。
我在《Benchmark.NET:让 C# 测试程序性能变得既酷又简单》一文中使用了 StringBuilder
和 String
作为例子,从测试结果中可以看出,StringBuilder
的性能确实比 String
高得多。
有些小伙伴可能会问:既然 StringBuilder
有这么多优势,那能不能直接用它来代替 String
呢?
今天咱们就来深入探讨这个问题。
StringBuilder 高性能的底层原因
为什么 StringBuilder
的性能能比 String
高这么多呢?主要有这个 3 个底层原因:
-
StringBuilder
预先以非托管的方