2012-03-06 61 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

相關問題