所以...我有这种情况下,我有一个Foreach循环,通过复选框列表来检查哪些被选中。对于每个选定的复选框,我必须进行一个非常长的字符串连接,包含30个平均长度为20个字符的不同字符串,然后将其作为HTTP请求发送出去。 2个字符串取决于所选复选框的索引/值。字符串连接VS字符串生成器追加
根据用户的数据,复选框列表的长度也是可变的。我会说列表的平均长度是20,但可以达到50-60。所以最糟糕的情况是执行整个字符串连接60次左右。
现在我正在通过'+'运算符通过简单字符串连接来完成它,但是我想知道用Stringbuilder做它会更快。当然,这意味着我不得不在循环中创建一个Stringbuilder对象,或者在循环之前创建它,并在发送HTTP请求之后调用Stringbuilder.Remove。
我很感激任何人都可以分享有关此问题的任何见解。
编辑
感谢所有的答复大家,所以从我收集的,最好的办法,我去这样做会是这样的:
我很抱歉,看来我不太了解Stringbuilder。所以调用Stringbuilder.ToString()清除Stringbuilder? – Kronon 2009-12-29 05:06:14
否。将Length属性设置为零会清除它。 – 2009-12-29 05:09:51
someStringBuilder.length = 0; – 2009-12-29 05:11:24