每次打印一次C#foreach
我被这个聪明的问题困住了。我找不到可定制的解决方案。 我正在尝试使用每次打印一次C#foreach,c#,for-loop,foreach,C#,For Loop,Foreach,我被这个聪明的问题困住了。我找不到可定制的解决方案。 我正在尝试使用foreach打印我的列表列表。代码如下: int i = 0; StringBuilder sb = new StringBuilder(); foreach (var subList in result) { i++; Console.WriteLine(sb.Append("******\n").Append("Group ").Append(i).Append(" -
foreach
打印我的列表列表。代码如下:
int i = 0;
StringBuilder sb = new StringBuilder();
foreach (var subList in result)
{
i++;
Console.WriteLine(sb.Append("******\n").Append("Group ").Append(i).Append(" - ").
Append("Number of students: ").Append(subList.Count()).Append("\n").Append("
Name:").Append("\n"));
var exp = subList.GetEnumerator();
while (exp.MoveNext())
{
Console.WriteLine(sb.Append(" ").Append(exp.Current.ToString()).Append("\n"));
}
}
我试图得到这个结果(例如):
等等。
问题是我总是得到这样的结果(每次都是从foreach
打印):
像这样:
******
Group 1 - Number of students: 3
Name:
******
Group 1 - Number of students: 3
Name:
this
******
Group 1 - Number of students: 3
Name:
this
is
******
Group 1 - Number of students: 3
Name:
this
is
a
列表的其余部分依此类推。谁能指导我解决这个问题。
非常感谢您的帮助。您不需要控制台。每次调用sb.Append
时,都需要使用WriteLine
。您需要完全构建字符串,然后一次全部打印出来
int i = 0;
StringBuilder sb = new StringBuilder();
foreach (var subList in result)
{
i++;
sb.Append("******\n")
.Append("Group ")
.Append(i)
.Append(" - ")
.Append("Number of students: ")
.Append(subList.Count())
.Append("\n")
.Append("Name:")
.Append("\n");
foreach(var exp in subList)
{
sb.Append(" ").Append(exp.ToString()).Append("\n");
}
}
Console.Write(sb.ToString());
您没有向我们展示结果的样子,因此很难对您的代码形成意见。非常简单。谢谢
******
Group 1 - Number of students: 3
Name:
******
Group 1 - Number of students: 3
Name:
this
******
Group 1 - Number of students: 3
Name:
this
is
******
Group 1 - Number of students: 3
Name:
this
is
a
int i = 0;
StringBuilder sb = new StringBuilder();
foreach (var subList in result)
{
i++;
sb.Append("******\n")
.Append("Group ")
.Append(i)
.Append(" - ")
.Append("Number of students: ")
.Append(subList.Count())
.Append("\n")
.Append("Name:")
.Append("\n");
foreach(var exp in subList)
{
sb.Append(" ").Append(exp.ToString()).Append("\n");
}
}
Console.Write(sb.ToString());