2012-11-17 96 views
0

我有一個項目,我需要將文本文件中的數據拆分成一個數組或一個「結構數組」,就像我的教授所說的那樣,我對如何去做這件事感到非常困惑。如何從文本文件中獲取數據並將其分割爲數組?

基本上我有在文本文件中設置這樣的數據(不必是這樣..可以是每行一個事):

PR214;MR43T;RBL8;14K22 
PR223;R43;RJ6;14K24 
PR224;R43N;RN4;14K30 
PR246;R46N;RN8;14K32 
PR247;R46TS;RBL17Y;14K33 
PR248;R46TX;RBL12-6;14K35 
PR324;S46;J11;14K38 
PR326;SR46E;XEJ8;14K40 
PR444;47L;H12;14K44 

在第一列中的數字(PR。 ..)代表一個CCC號碼。第二,第三和第四列代表三家不同公司的部件號(第2列是一個公司,第3列另一個等)。用戶會通過選擇一個單選按鈕然後輸入部分(即公司3和「RJ6」)來告訴我公司和公司下的部件號,然後我應該給客戶提供CCC編號( 「PR223」)。

我不是要求你們爲我做我的功課,但我很難掌握陣列。你能否指出我該如何去做這件事?

回答

0

您可以使用StreamReader的ReadLine方法一次讀取一行文件。然後,您可以使用String.Split(char[])方法獲取每行中值的字符串數組。如果你已經知道如何製作結構,你應該設置。

0

如果你看看每一行數據,'列'之間有一個共同的分隔符,所以你想要將每行split分成四個獨立的實體。當你通過 行工作並獲得那四個離散元素時,應該可以將每個元素分配給相應的結構部分。你當然會爲每條線有一個「結構」,所以最後這裏有一個結構陣列。

1

其他答案是正確的。您可以從文本文件中讀取每行,並將值插入到由數據定義的結構中。對於每一個新行你都需要使用該結構的一個實例,所以你要做的只是一組結構的數組結構。

如果你正在努力理解數組,你真的需要在這方面努力。想想像一組盒子這樣的數組。我們從行中的3個盒子開始。每個尺寸都相同,只能容納適合它們的內容。您可以將項目類型(數據)分配給框,但所有框都只能保存該類型的項目。這些框的編號從0到2.在某些語言中,您可以命名框(關聯數組),但不能使用C#AFAIK。所以這給你一個一維數組。

對於兩個棋盤格的棋盤陣列。你知道如何記錄一場國際象棋比賽嗎?國際象棋符號使用A到H作爲水平位置,1到8作爲垂直位置。所以白女王開始在D1位置。現在,如果我編程一個國際象棋遊戲,我會像國際象棋棋盤一樣使用8x8陣列。當然,我陣列上的編號在0-7和0-7之間。然後,我的陣列中的白色女王的位置將是[3] [0]。因此,將數據放置在二維數組中就像將棋子放在棋盤上一樣。遊戲戰艦是二維數組的另一個例子。

向陣列添加維度就像爲圖形添加新的座標。您從X開始,然後您添加Y並添加Z。等等等等。

相關問題