连接列表<List<string>> 需要很长时间
Concatenating List<List<string>> takes a long time
到目前为止我尝试了什么
string Value ="";
foreach (List<string> val in L1)
{
Value = Value + string.Join(",", val) + " // ";
}
其中 L1 的数据类型为 List <List<strings>>
这可行,但需要将近 n 个半小时才能完成
是否有尽可能多的最快和最简单的方法来实现这一目标。
我建议在这样的循环中使用 StringBuilder
而不是连接:
StringBuilder builder = new StringBuilder();
foreach (List<string> val in L1)
{
builder.Append(string.Join(",", val) + " // ");
}
string result = builder.ToString();
在循环中连接时,每次都需要将字符串复制到内存中的新位置,并分配额外的内存。 StringBuilder
阻止了这种情况。
您还可以参考:
- How to use StringBuilder wisely
- How does StringBuilder work?
- How the StringBuilder class is implemented? Does it internally create new string objects each time we append?
到目前为止我尝试了什么
string Value ="";
foreach (List<string> val in L1)
{
Value = Value + string.Join(",", val) + " // ";
}
其中 L1 的数据类型为 List <List<strings>>
这可行,但需要将近 n 个半小时才能完成 是否有尽可能多的最快和最简单的方法来实现这一目标。
我建议在这样的循环中使用 StringBuilder
而不是连接:
StringBuilder builder = new StringBuilder();
foreach (List<string> val in L1)
{
builder.Append(string.Join(",", val) + " // ");
}
string result = builder.ToString();
在循环中连接时,每次都需要将字符串复制到内存中的新位置,并分配额外的内存。 StringBuilder
阻止了这种情况。
您还可以参考:
- How to use StringBuilder wisely
- How does StringBuilder work?
- How the StringBuilder class is implemented? Does it internally create new string objects each time we append?