我有一个列表,其中包含从文件中提取的许多行,我希望使用此代码将其显示为richTextbox
foreach (string s in Dettaglio)
{
txtDettaglio.Text += s + Environment.NewLine;
}
而Dettaglio的定义是:
System.Collections.Generic.List<string> Dettaglio = new System.Collections.Generic.List<string>();
但它有很多时间来实现它还有其他任何解决方案,或者我还没有使用richTextbox?
答案 0 :(得分:2)
首先:我使用AppendText
而不是字符串连接:
foreach (string s in Dettaglio)
{
txtDettaglio.AppendText(s);
txtDettaglio.AppendText(Environment.NewLine);
}
可以更快地使用连接来避免两次调用AppendText
:
foreach (string s in Dettaglio)
{
txtDettaglio.AppendText(s + Environment.NewLine);
}
现在它可能实际上不会更快,但它是我试图开始的 - RichTextBox
的内部数据结构可能需要工作才能获取 Text
属性,使用AppendText
可以避免重新解析已经处理过的文本。
答案 1 :(得分:1)
使用StringBuilder可能会更快
StringBuilder sb = new StringBuilder();
foreach (string s in Dettaglio)
{
sb.Append(s + Environment.NewLine);
}
txtDettaglio.Text = sb.ToString();