【发布时间】:2009-04-18 13:06:39
【问题描述】:
我目前正在阅读 Jon Skeet 的 C# in Depth 并且一直在阅读有关值和引用类型的内容。
这让我想到了使用值类型作为方法参数的成本,因为该值在传递时会被复制。虽然在考虑整数时这个成本并不高,但如果这些值参数是多次传递的字符串怎么办。
使用 StringBuilder 类并传递它而不是字符串类型会有好处吗?
如果您认为字符串很长,例如 1024 个字符,并且在方法之间仅传递了几次,请将其与具有相同值的 StringBuilder 进行对比,后者最终会传递引用的值为 4 或每次 8 个字节,你可以有相当大的性能提升。
这个问题也可能突出我可能缺少关于字符串类型的重要理解,请随时在需要的地方指出这一点。
另外,对于每个实例中的字符串,这会对垃圾回收产生什么影响?
编辑:显然我确实忘记了一条关于字符串的重要信息,它使问题无效。谢谢格罗弗。
【问题讨论】:
标签: .net performance