我有一个C#foreach循环,其中包含以下内容:
lblCheckedNodes.Text += node.Text + "►< br />";
显示如下:myCheckedNodeText►&lt; br /&gt; 。这显示换行符而不是实际换行,但是如果我这样做:
lblCheckedNodes.Text += node.Text + "<br />";
线路返回有效,但我似乎无法兼顾两者。
答案 0 :(得分:3)
HTML实体中缺少分号
像►
这样的HTML实体需要一个尾随分号来表示实体本身的结束,所以你需要确保它存在:
lblCheckedNodes.Text += node.Text + "►<br />";
考虑使用StringBuilder
正如评论中所提到的,如果你不断地将字符串连接在一起,你可能最好使用StringBuilder
类,这在处理这种类型的活动方面效率更高:
StringBuilder nodes = new StringBuilder("");
// Build your strings here
foreach (var node in nodes)
{
// You have a few options for concatenation here
// Basic Concatenation -> nodes.Append(node.Text + " ► <br />");
// String.Format() -> nodes.Append(String.Format("{0} ► <br />", node.Text));
// String Iterpolation (seen below)
nodes.Append($"{node.Text} ► <br />");
}
// Set your label content
lblCheckedNodes.Text = nodes.ToString();
答案 1 :(得分:1)
我认为你只是错过了一个分号。 试试这个
lblCheckedNodes.Text += node.Text + "►<br />";