2016-12-04 97 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

相关问题