将数据从文件读入1D数组C#

时间:2013-09-02 07:36:47

标签: c# arrays file-io struct

这是我的ITP项目,并希望在这个问题上提供一些帮助。

如何应用顺序搜索方法将包含Country,Capital,Area和Population的名为“mix.txt”的文件中的数据读入您定义的记录类型的一维数组中。

这是我定义的记录类型:

    struct Country
    {
        public string country;
        public string capital;
        public int area;
        public int population;
    }
    Country[] data = new Country[4];

信息采用以下格式:

Aland

Mariehamn

1552 

26300

我该怎么办?

2 个答案:

答案 0 :(得分:1)

我可以为你提供这个,但你应该先单独尝试:

string[] arrText;
string lineThreeHundred;

arrText = File.ReadAllLines("c:\test.txt");
int counter = 0;
List<Country> contries = new List<Country>();

while(counter < arrText.Length)
{
   Country curr =new Country();
   curr.country = arrText[counter];
   curr.capital = arrText[counter + 1];
   int.TryParse(arrText[counter + 2], out curr.area);
   int.TryParse(arrText[counter + 3], out curr.population);
   counter += 4;
}

答案 1 :(得分:0)

如果文件中的数据是按空格分割的一行(例如),则可以执行以下操作:

StreamReader sr = new StreamReader(filePath);
{
    string[] arr;
    arr = sr.ReadLine().Split(' ').ToArray();
}

当然,你可以做一些行的循环等。