我目前正在阅读Jon Skeet的深度C#文章,并且已经阅读了关于值和引用类型的内容。在参数中传递大量值类型的性能
这让我想到了使用值类型作为方法参数的成本,因为该值在传递时被复制。虽然在考虑整数时这个代价并不是很大,但如果这些值参数是经过无数次传递的字符串呢?
使用说一个StringBuilder类并传递它而不是字符串类型会有好处吗?
如果你认为字符串很长,比如1024个字符,并且在方法之间传递了几次,那么用一个StringBuilder进行对比,该StringBuilder具有相同的值,最终将引用的值传递为4或者每次8个字节,你可以获得相当的性能。
这个问题也可能突出显示我可能缺少的有关字符串类型的重要理解,请随时在需要的地方指出。
另外,这对垃圾收集有什么影响,在每个实例中的字符串?
编辑:显然我没有忘记一个有关字符串的信息,使问题无效。谢谢格罗弗。