2016-12-04 128 views
0

我的文件是這樣的: 打招呼,1,2,同比增長 再見,0,4,下 ...C#如何創建一個存儲數據的數組/矩陣?

我有WordToFind這將有從我的文件的第一個字,但我希望它有'你好'和'再見'兩個字。 與X1Coordinate相同,我希望它有'1'和'0',但是作爲整數。 那麼,我該如何修改我的代碼來做到這一點? 我是一個初學者,我試圖找出它超過3小時,但仍然沒有管理,所以我很抱歉,如果這是一個非常基本的問題。

for (int m = 0; m < Words; m++) 
{ 
    string LinesInFile = reader.ReadLine(); 

    string[] WordsWithSpecifics = LinesInFile.Split(','); 
    string WordToFind = WordsWithSpecifics[0]; 
    int X1Coordinate = int.Parse(WordsWithSpecifics[1]); 
    int Y1Coordinate = int.Parse(WordsWithSpecifics[2]); 
    string WordDirection = WordsWithSpecifics[3]; 
+1

歡迎所以。請張貼您嘗試過的一些實際代碼,並告訴我們您需要做什麼。粗略地說,你需要一個'object []'來處理這些非同類的數據。 – Emad

+0

我們還沒有學過對象。所以我在這裏逐行閱讀一個文件。在每一行中,我都有「一個字,第一個數字,第二個數字,一個方向」。我想在WordToFind中存儲所有的單詞,在X1Coordinate中存儲所有的第一個數字,在Y1Coordinate中存儲所有的第二個數字,在WordDirection中存儲所有的方向。 – Anna

+0

文件中的數據總是採用相同的格式,即string,int,int,string ... int,int?你也想把它們當作單獨的單詞來處理,或者只是一個字符串「向上再見」? – StaticBeagle

回答

0

現在我得到你需要的東西。下面的代碼會做你需要什麼:

var WordToFind = new List<string>(); 
var X1Coordinate = new List<int>(); 
var Y1Coordinate = new List<int>(); 
var WordDirection = new List<string>(); 
while((LinesInFile = reader.ReadLine()) != null) 
{ 
    string[] WordsWithSpecifics = LinesInFile.Split(','); 
    WordToFind.Add(WordsWithSpecifics[0]); 
    X1Coordinate.Add(int.Parse(WordsWithSpecifics[1])); 
    Y1Coordinate.Add(int.Parse(WordsWithSpecifics[2])); 
    WordDirection.Add(WordsWithSpecifics[3]); 
} 

但我個人推薦使用的一類用於存儲結構化數據是這樣的:

​​3210

然後使用它是這樣的:

var myData = new List<MyDataType>() 
while((LinesInFile = reader.ReadLine()) != null) 
{ 
    string[] WordsWithSpecifics = LinesInFile.Split(','); 
    myData.Add(new MyDataType(){ 
     Word = WordsWithSpecifics[0], 
     X1 = int.Parse(WordsWithSpecifics[1]), 
     Y1 = int.Parse(WordsWithSpecifics[2]), 
     Direction = WordsWithSpecifics[3] 
    }; 
} 
+0

@Anna我編輯了這篇文章並完全更新了它。希望它有助於:) – Emad

+0

這不是我的問題,但我沒有足夠清楚解釋。謝謝,我設法做到了:) – Anna

+0

謝謝,但不幸的是我們不能使用類,因爲我們還沒有覆蓋它們:P – Anna

相關問題