Man*_*ndo 2 c# .net-micro-framework c#-3.0
我正在使用.Net微框架,因此StringBuilder不可用.
我已经看到来自apt专业人员的一些代码使用chars的Arraylist来连接和构建字符串,而不是+运算符.它们本质上构建了一个托管代码StringBuilder.
这有性能优势吗?假设连接数大于10且字符串长度也大于10.
Jon*_*eet 11
不,不使用ArrayList的char值.这将填补每一个字符 - 性能将是可怕的,内存使用.(引用的大小+每个字符的盒装字符的大小......呀!)
在需要时使用char[]内部并"调整"它(创建一个新数组并复制内容),每次可能加倍.(编辑:你没有把它调整到你需要的确切大小 - 你可以从16个字符开始并保持加倍 - 所以大多数Append操作都不需要"调整"数组的大小.)
StringBuilder无论如何,这与工作方式类似.(它更接近Java的StringBuilder工作方式.)
我建议你实际上StringBuilder用最重要的成员建立自己的类型.单元测试它,并在适当的位置进行配置.
如果你想要一个简短的例子,请告诉我.