我有一個巨大的字符串(我們正在談論1696108字符的長度),我已經很快從文本文件中讀取。當我將它添加到我的文本框(C#)時,需要很長時間才能完成。像記事本++(非託管代碼,我知道)的程序幾乎可以立即執行,但記事本也需要很長時間。我怎樣纔能有效地添加這個巨大的字符串,以及像Notepad ++這樣的東西如此快速地實現呢?如何有效地將一個巨大的字符串添加到文本框?
4
A
回答
5
記事本和窗口TextBox類針對64K文本進行了優化。您應該使用RichTextBox
0
你可以,最初,只呈現UI中可見的前n個字符(假設你有一個滾動文本框)。然後,啓動一個單獨的線程來異步渲染連續的塊。
或者,您可以將它與來自文件的輸入流結合使用。閱讀一個塊並立即將其附加到文本框中。例如(不徹底的,但你的想法)...
private void PopulateTextBoxWithFileContents(string path, TextBox textBox)
{
using (var fs = File.OpenRead(path))
{
using (var sr = new StreamReader(fs))
{
while (!sr.EndOfStream)
textBox.Text += sr.ReadLine();
sr.Close();
}
fs.Close();
}
}
9
如果這是Windows窗體我建議試圖RichTextBox中的下拉更換爲您文本框。在過去,我發現它在處理大文本方面效率更高。此外,在進行修改時,請務必使用經過時間考驗的SelectionStart/SelectedText方法,而不是操縱Text屬性。
rtb.SelectionStart = rtb.TextLength;
rtb.SelectedText = "inserted text"; // faster
rtb.Text += "inserted text"; // slower
相關問題
- 1. 如何找到一個巨大的字符串內的字符串出現的次數就像一本大書
- 2. 將文本字符串添加到UITextField
- 3. SQL Server - 將字符串添加到文本列(等效連接)
- 4. jquery:將字符串添加到gridview中的文本框
- 5. 如何從一個大的txt文件中僅有效地讀取字符串
- 6. 如何將一個版權符號添加到字符串?
- 7. C++將字符串添加到現有文本文件
- 8. 將字符串添加到另一個字符串中
- 9. 如何將一個數組的值添加到字符串中
- 10. 的JavaScript如何將一個變量添加到字符串
- 11. 如何將多個文本文件中的字符串添加到數組中
- 12. 將大文本框添加到頁面
- 13. 如何正確處理一個巨大的字符串?
- 14. 偵聽串口。如何將字符串添加到列表框?
- 15. 如何有效地將大量元素添加到stxxl矢量?
- 16. 如何加快處理一個巨大的文本文件?
- 17. 將字符串添加到字符串
- 18. 如何添加一個字符串到.txt文件的結尾?
- 19. 巨大的字符串到HTML
- 20. 如何有效地將很多按鈕添加到tkinter框架?
- 21. JQuery MVC將一個字符串加載到一個文本顯示框中
- 22. 如何將字符串添加到string.xml
- 23. 如何將字符串添加到ClassificationDataSet?
- 24. 如何將字符串添加到字符串numpy的ndarray
- 25. 如果選中,將文本添加到CheckedListBox中的字符串?
- 26. 將方括號添加到字符串的第一個字符
- 27. 如何將字符串添加到具有不同顏色的文本區域?
- 28. 存儲一個巨大的HTML字符串在一個字符串變量
- 29. 如何將現有字段信息添加到新添加的infoPath文本框?
- 30. 如何將一個整數添加到字符串?