【发布时间】:2024-04-23 14:45:01
【问题描述】:
我有一个字符串列表,我想在它们之间用“”(空格)加入它们,所以我使用string.Join 方法:
foreach (var line in lines)
{
var strings = lines.Where(l => l.Code == line.Code).Select(l => l.Data);
var original = string.Join(" ", strings);
}
数据看起来像这样:“123456789, 987654321, 32132, 7873892 ...”
但是我得到了 OutOfMemoryException。为什么?每个字符串大约有 100-150 个字符,列表中有 5-10 个字符串。
有没有比 string.Join 更好的方法?
【问题讨论】:
-
程序还在做什么?这可能只是把你推到边缘的东西。
-
肯定有其他事情发生(循环、递归等)。我们需要查看完整代码或异常堆栈跟踪。
-
我知道这是一个愚蠢的问题,但 original 不是对
strings中的字符串之一的引用,是吗? -
我的猜测:这是在
for/foreach/do循环的中间 -
@Oded,抱歉输入错误,我删除了 +。再次,对不起