在C#中高效解析大型文本文件

前端之家收集整理的这篇文章主要介绍了在C#中高效解析大型文本文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要读取一个空间分隔的大文本文件,并计算文件中每个代码的实例数.从本质上讲,这些是运行一些实验数十万次的结果.系统会吐出一个看起来像这样的文本文件
A7PS A8PN A6PP23 ...

实际上有数十万个这样的条目,我需要计算每个代码的出现次数.

我想我可以打开一个StreamReader并逐行浏览,拆分空格字符.查看是否已遇到代码并将该代码的计数加1.但是,考虑到数据的大小,这可能很幼稚.

有人知道处理这种处理的有效算法吗?

更新:

好的,所以共识似乎是我的方法是沿着正确的方向

我有兴趣听到的是 – 更有效的 – StreamReader. TextReader,BinaryReader

存储结果字典的最佳结构是什么? HashTable,SortedList,HybridDictionary

如果文件中没有换行符(我还没有给出样本),那么将整个空间分割成效率是不是很低?

从本质上讲,我期待尽可能提高性能

再次感谢

解决方法

你的方法看起来很好.

>每行读入>按空格分割每一行>将记录添加到字典中如果它还不存在如果确实存在,请执行该值

猜你在找的C#相关文章