2014-03-26 16 views
0

我是VB.Net的一個完整的noob,並且有我的成長痛苦的份額。不過,我開始處理我需要做的事情。在VB.net中存儲10,000行數據在數組中

我正在編寫的程序需要大約500 .csv文件,逐行吸取信息,將數據存儲到四個不同的數組中,然後將數據導出到一個長索引中。

文件中的每一行都以代碼字開頭,幷包含5到20個數據字段。代碼字決定了有多少字段,以及數據如何存儲。如果是代碼A,則需要進入Array A。如果它是指數B,則需要進入Array B併爲數組A,B,C和D設置一些變量。代碼C表示進入Array C。等等。

我的問題是,我不知道會有多少行數據,所以使用一些標準數組。我已經弄清了代碼,以便將每行數據導入正確的子文件中。 但我不確定如何存儲數據。
我將需要操作/在列C的數據進行排序,但將能夠只轉儲數據移入和吸出來指數A,B和D.

我應該使用二維數組所有索引?收藏品會更好嗎?如果是這樣,哪種收藏品會更好?

//Array A= 4 columns per row, unknown number (500) of rows 

//Array B= 18 columns of columns, unknown number (10,000+) rows 

//Array C= 3 columns, unknown number (2000) of rows, must be able to sort and alter 

//Array D= 3 columns, unknown number (1000) rows. 

謝謝

回答

3

一言以蔽之:

我應該使用所有索引二維數組?

沒有。

集合會更好嗎?

是的,好多了。

如果是這樣,哪種收集效果會更好?

泛型列表(List(Of T)),在那裏你在你的CSV數據定義與字段的對象(類)的比賽爲每種類型的記錄的列,並使用這些類的類型的列表。

對於ArrayB,請注意大對象堆導致出現OutOfMemoryExceptions問題。您可能需要將其保留在磁盤上。