【问题标题】:Make C# foreach prints once使 C# foreach 打印一次
【发布时间】:2021-06-11 08:19:11
【问题描述】:

我被这个聪明的问题困住了。我找不到可定制的解决方案。 我正在尝试使用foreach 打印我的List of Lists。这是代码:

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"));
 }
}

我正在尝试得到这个结果(例如):

Group 1 - Number of students: 3
   Name:
    this
    is
    a
Group 2 - Number of students: 3
  Name:
    test
    again
    and-again 

等等。 问题是我总是得到这个(它每次都来自foreach):

Console.WriteLine(sb.Append("******\n").Append("Group ").Append(i).Append(" - ").
         Append("Number of students: ").Append(subList.Count()).Append("\n").Append("   
             Name:").Append("\n"));

像这样:

******
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

列表的其余部分以此类推。谁能指导我解决这个问题。 非常感谢任何帮助。

【问题讨论】:

  • 您还没有向我们展示result 的外观,因此很难对您的代码形成意见。

标签: c# for-loop foreach


【解决方案1】:

您无需为每次调用sb.Append 发送Console.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());

【讨论】:

  • 很简单。谢谢
猜你喜欢
  • 2020-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-26
  • 1970-01-01
  • 1970-01-01
  • 2017-08-28
  • 1970-01-01
相关资源
最近更新 更多