2012-03-06 60 views
0

我有一个问题,需要加载一个固定长度的文件。处理一些字段,生成其他几个字段,最后输出一个新文件。困难的部分是文件是零件号码,一些产品被其他产品取代(也可以被取代)。我需要做的是按照已取代的线索获取我需要的信息,以替换我所查看的行中的一些字段。那么,如何才能最好地处理来自文件的大约200000行以及需要在给定产品中上下移动?我想过使用一个集合来保存数据或数据集,但我不认为这是正确的方法。这里是我想要做的一个例子:加载文件,操作数据和写入新文件的最佳方法

Before 


Part Number  List Price   Description     Superceding Part Number   
0913982                  3852943   
3852943   0006710   CARRIER,BEARING   

After 


Part Number  List Price   Description     Superceding Part Number  
0913982   0006710   CARRIER,BEARING  3852943  
3852943   0006710   CARRIER,BEARING 

像往常一样,任何帮助,将不胜感激,谢谢。

Wade

+0

你为什么认为创建一个集合(并使用linq来查找替代部分)不是一个可行的解决方案? – 2012-03-06 02:08:06

+0

@rontornambe我想我无法确定在这么多行上会起什么作用。 – Wade73 2012-03-06 02:12:58

回答

1

创建给定字段的结构。 读取文件并将结构放入集合中。您可以使用零件号作为散列表的关键,以提供最快的搜索。

扫描收集并修复数据。

来自给定线条的200 000个对象将很容易地放在内存中。

例如。 如果你的结构大小是50字节,那么你将只需要10Mb的内存。这对于现代PC来说没有任何意义

+0

我会试试看看它是怎么回事,谢谢。 – Wade73 2012-03-06 02:52:37

+0

工作就像一个魅力,谢谢! – Wade73 2012-03-08 15:54:32

相关问题