C# Foreach运算符和一个字符串
例如,我有以下代码:C# Foreach运算符和一个字符串,c#,C#,例如,我有以下代码: foreach (var item in _post) { Console.WriteLine(item.Name); } 如何将项目中的此字符串设置为一个字符串?对不起,我说的是英语。您可以使用聚合方法(): string aggregate = "" foreach (var item in _post) { aggregate += item.Name; aggregate += "\n"; } 或者,如果要在foreach循环中执行此操作,
foreach (var item in _post)
{
Console.WriteLine(item.Name);
}
如何将项目中的此字符串设置为一个字符串?对不起,我说的是英语。您可以使用聚合方法():
string aggregate = ""
foreach (var item in _post)
{
aggregate += item.Name;
aggregate += "\n";
}
或者,如果要在foreach循环中执行此操作,请尝试以下操作:
string result = "";
foreach (var item in _post)
{
result += item.Name;
Console.WriteLine(item.Name);
}
试用
您的意思是希望所有项目的名称都在一行(字符串)中吗?您应该在“\n”上连接它们,以便与OP的代码保持一致。@Servy是的,您是对的。。我没有注意到一条书写线。。谢谢:)关于代码注释:他不应该使用
“
作为分隔符,他应该调用string.Concat
,而不是string.Join
。在这种情况下,这对于字符串来说是非常非常非常低效的,因为您不断地丢弃、重新创建,并反复复制相同的字符串值。请注意,此解决方案的结尾将有一个逗号空格。^请删除逗号,只留下一个空格。str.AppendFormat(“{0}”,项目);
string result = "";
foreach (var item in _post)
{
result += item.Name;
Console.WriteLine(item.Name);
}
var result = string.Join("\n",_post.Select(s=>s.Name));
StringBuilder str = new StringBuilder();
foreach (var item in _post)
{
str.AppendFormat("{0}, ",item);
}
Console.WriteLine(str.ToString());