много информации в richTextbox - PullRequest
       1

много информации в richTextbox

0 голосов
/ 08 сентября 2011

У меня есть список с множеством строк, извлеченных из файла, и я хочу отобразить его как richTextbox с этим кодом

foreach (string s in Dettaglio)
{
    txtDettaglio.Text += s + Environment.NewLine;
}

И определение Детальо:

System.Collections.Generic.List<string> Dettaglio = new System.Collections.Generic.List<string>();

Но на это уходит много времени, есть какое-то другое решение, или я не использовал richTextbox?

Ответы [ 2 ]

2 голосов
/ 08 сентября 2011

Во-первых: я бы использовал 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 голос
/ 08 сентября 2011

Может быть, использование StringBuilder будет быстрее

StringBuilder sb = new StringBuilder();
foreach (string s in Dettaglio)
{
    sb.Append(s + Environment.NewLine);
}
txtDettaglio.Text = sb.ToString();
...