C# 追加';列表';项目到StringBuilder

C# 追加';列表';项目到StringBuilder,c#,.net,list,iterator,stringbuilder,C#,.net,List,Iterator,Stringbuilder,我尝试使用LINQ将列表中的项目添加到StringBuilder: items.Select(i => sb.Append(i + ",")); 我发现了一个类似的问题,解释了为什么上述方法不起作用,但我找不到ForEach的每个,或者在列表上找到我可以替代的类似方法 有没有一种简洁的方法可以在一行程序中实现这一点?您可以使用一个简单的foreach循环。这样,您就有了修改StringBuilder的语句,而不是使用具有副作用的表达式 items.ForEach(item => s

我尝试使用LINQ将
列表中的项目添加到
StringBuilder

items.Select(i => sb.Append(i + ","));
我发现了一个类似的问题,解释了为什么上述方法不起作用,但我找不到
ForEach
每个
,或者在
列表
上找到我可以替代的类似方法


有没有一种简洁的方法可以在一行程序中实现这一点?

您可以使用一个简单的
foreach
循环。这样,您就有了修改StringBuilder的语句,而不是使用具有副作用的表达式

items.ForEach(item => sb.Append(item + ","));
使用
String.Join(“,”,items)或许可以更好地解决您的问题

string[]items={“一月”、“二月”、“三月”};
sb=新的StringBuilder();
foreach(项中的字符串项)
{
某人追加(项目);
}
Textbox1.Text=sb.tostring();
输出:

一月

二月

玷污


请注意,如果此扩展不再可用,则必须保留列表而不是IList。这就是为什么我更喜欢在IEnumerable上编写我自己的ForEach。你使用的是什么版本的.Net?ForEach是.Net 4中泛型列表中的一个方法。是的,我是.Net 3.5,不幸的是我完全忘记了
String.Join
。有时候,我真的需要打破我的林克·万卡森(Linq wankathon),记住人们以前是如何编程的:)