我写了一个循环,从字符串列表中逐个显示每一行。
问题是列表包含的行数超过45000行,创建用于显示的页面需要花费大量时间。
有人能帮忙优化代码吗?
List<string> OverrrideLog = lc.getOverrideLog();
List<string> AccessLog = lc.getAccessLog();
foreach (string s in OverrrideLog)
lblOverrideLog.Text += s + "<br/>";
foreach (string s in AccessLog)
lblAccessLog.Text += s + "<br/>";
这里lbloverridolog和lblaccesslog是文本,每个列表有22000多行。
最佳答案
您可以使用String.Join方法(字符串,IEnumerable):
List<string> OverrrideLog = lc.getOverrideLog();
List<string> AccessLog = lc.getAccessLog();
lblOverrideLog.Text = String.Join("<br />", OverrrideLog);
lblAccessLog.Text = String.Join("<br />", AccessLog);
(另请参见String.Join vs. StringBuilder: which is faster?)