StringBuilder ToString() performance

本文关键字:performance ToString StringBuilder | 更新日期: 2023-09-27 17:54:25

我需要在一个循环中提取许多巨大的stringbuilder(每个大约1mb的数据)的第一行。为此,我考虑这样做:

string header;
foreach(StringBuilder strBuilder in bigArray)
    header= strBuilder.ToString().SubString(blabla);

,但我担心。tostring()方法可能需要太长时间才能执行。你知道我怎样才能有效率地做这件事吗?

StringBuilder ToString() performance

如果您正在寻找不从StringBuilder中提取整个字符串的Substring替代品,您可以使用ToString的过载,startlength:

string header;
foreach(StringBuilder strBuilder in bigArray)
{
    header= strBuilder.ToString(start, length);
}

它更快吗?我不知道——你得测量才能确定。

另一种选择是将"lines"存储为字符串数组的集合(或List<List<string>>),而不是StringBuilder s的集合。