我有一个 C# win 表单,我在其中读取文件并在 datagridview 中显示行。一切工作正常..我使用 delegate 和 Invoke 来显示正在读取的行。它还显示进度条并执行其他一些操作,例如计算行长度和解析行以从每行中提取某些字段。
只是好奇,是否有人尝试过这种实现。目前,我的应用程序在 3 分钟多一点的时间内读取 250MB 文件(约 12000 行)(Win 7 32bit/celeron 2.66Ghz/4GB)。我想知道是否有可能减少时间 - 更像是通过改变我实现它的方式。
最佳答案
嗯,你对此重新考虑是完全正确的。托尔斯泰的《 war 与和平》可能是最难读的书,大约有五十万字。你倾倒到屏幕上的内容是原来的一百倍。将这么多信息显示在屏幕上需要多长时间并不重要,用户甚至要花很长的时间才能滚动浏览它。
我个人犹豫是否要在列表中放入超过 50 项的内容。 100 顶。除此之外,这对人类来说就是纯粹的折磨。
要实现这一目标,请允许用户过滤内容,逐渐在庞大的结果集中深入到相关项目。从你的问题中并不清楚它到底应该是什么样子。想一想,我相信你会想出一些办法的。
关于c# - WinForms 调用/BeginInvoke,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2278084/