RichTextBox 性能问题(文本框中的文本太多)

RichTextBox performance issues(Too much text in the textbox)

目前我正在尝试将我的日志文件加载到 RichTextBox 中,但问题是当我向下滚动时文本总是加载,因为日志文件有很多数据 (65mb)。性能在 50 秒内下降太多,以至于我的程序死机了。

有没有人对我有改进建议或解决方案。 我目前的实习生任务是编写一个搜索工具,您可以在其中读取日志文件并在其中搜索某些关键字。我应该使用 RichTextBox 以外的元素吗?

65meg 的数据要保存在内存中是很多的,不管你怎么看。

这意味着您在此过程中很可能会遇到其他问题。

不过,当您找到它们时,请对其进行处理。

现在你需要一些可能有用的东西。

此处的示例使用列表框每行显示一行。

每一行都是水平排列的列表视图。

每个列表视图的数据由使用正则表达式拆分的字符串组成。

一个没有匹配,如果在一行中找到一个匹配,则最多三个。

每个块都有一个视图模型 (RunHI),它有一个 IsMatch 属性。

如果为真,背景将由数据触发器设置为黄色。

https://gallery.technet.microsoft.com/WPF-Highlight-Matching-71ad5a04

该示例使用固定的字符串列表,但您可以将所有行 https://docs.microsoft.com/en-us/dotnet/api/system.io.file.readalllines?view=netframework-4.8 读入数组并 foreach。