【问题标题】:Add new line in a foreach loop, which is being added to a table cell in C#在 foreach 循环中添加新行,该循环被添加到 C# 中的表格单元格中
【发布时间】:2014-03-15 23:34:43
【问题描述】:

这是一个有点奇怪的问题,我确信有一种更简单的方法可以做到这一点,但是......

我有一个方法可以返回一个 List 的名字。我正在使用 foreach 循环解析此列表。我将每个名称添加到一个长 String 以便我可以将 Table Cell 的文本设置为该字符串。但我似乎无法让它添加一个新行。这可能吗?

这是代码的sn-p:

之前我的表格循环:

TableCell tempCell = new TableCell();

问题:

// Returns a List of Employees on the specified day and time.
List<string> EmployeeList = CheckForEmployees(currentDay, timeCount);

string PrintedList = "";
foreach (String s in EmployeeList)
{
    PrintedList += s;
    // PrintedList += s + System.Environment.NewLine;
    // PrintedList += s + " \n";
}
tempCell.Text = PrintedList;

注释的代码行都不起作用。有任何想法吗?

【问题讨论】:

  • 我在看到那个帖子后就来到了这里。这两个建议都不起作用。
  • 我会推荐使用 stringbuilder。另外,您可以尝试使用
    标签。
  • 我只是用 StringBuilder 重写了代码。从现在开始我会使用它,它会更好。

标签: c# asp.net newline


【解决方案1】:

您需要附加一个中断标记,因为您希望新行显示在 HTML 中。所以附加&lt;br/&gt;。如果迭代次数超过几次,我还建议使用字符串生成器。

【讨论】:

  • 我什至没有尝试过,我觉得很傻。这行代码有效: PrintedList += s + "
    "
  • 很高兴它有帮助。感谢 safeOtter 编辑我的答案。 (或者也许我只是在展示中断标签的工作原理):)
【解决方案2】:

HTML 表格单元格中的表格单元格?您是否可能需要使用“br”标签而不是普通的换行符?

另一件事,您应该使用 StringBuilder 而不是像您那样进行字符串连接。或者更好,String.Join

string PrintedList = String.Join("br-tag", EmployeeList);

同样,不确定 br 标记是否是您所追求的,但如果可能,更喜欢使用 String 类中的方法。

【讨论】:

  • 感谢您的回复!这是我需要的
    标签。 Attila 比你早 5 分钟回答,所以我给了他支票,但我不知道 String.Join 是一个东西,非常有用!
猜你喜欢
  • 2015-02-09
  • 1970-01-01
  • 2017-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多