从文件读取到字符串数组。然后。将代码分成另外3个数组

时间:2013-05-02 15:53:04

标签: c# tabs split file.readalllines

好的。我遇到了问题。我必须从文本文件中加载学生数据,并将它们放入名为Students的类中。

到目前为止 -

const string STUDENT_FILE = @"C:Users\Etc\Etc\Students.txt";
Students students = File.Routines.LoadStudents(STUDENT_FILE)

然后我的类FileRoutines使用它的方法

static public string [] LoadStudents(string STUDENT_FILE)

逐行读取文件并为每一行创建一个字符串数组。 (这是我到目前为止所做的,我没有得到很多工作。)

string[] students  = File.ReadAllLines(STUDENTS_FILE);

说明说我必须“读取学生输入文件中的所有行,从每行创建一个学生对象。返回一个包含Students对象数组的Students对象。

最后,该数组应该最终出现在Students类中。我应该在学生阵列上做一个.Split('\ t')并将它分成3个阵列。

我正在使用的文件数据设置如此。 122338 Weltzer Teresa 123123王楚 123131亚当斯詹姆斯 123132宾克利约书亚 123139霍华德泰勒 123160阿尔玛国王

在所有代码之后,它应该有3个字符串数组。

studentID[]
lastName[]
firstName[]

我知道这有点荒谬,我问了很多。但我到处寻找,我无法弄清楚如何去做。我已经看到了如何以其他方式做到这一点,但我被要求以这种方式做到这一点。 如果我能为你们澄清更多的东西,或者我需要添加一些东西让我知道。这是我的第一篇文章,所以放轻松。 谢谢!

2 个答案:

答案 0 :(得分:0)

List students = new List();
string[] splitData = students.split[" "];
int i = 0;
foreach(string s in splitData)
{
    var student = new Student();
    student.StudentId = splitData[i++];
    student.FirstName = splitData[i++];
    student.FirstName = splitData[i++];
    students.Add(student);
}

这有帮助吗?

答案 1 :(得分:0)

  

指示说我必须“阅读学生的所有内容   输入文件,从每一行创建一个学生对象。回报学生   包含Students对象数组的对象

您对Class Student()的定义在哪里? < - 持有ID,LastName,FirstName

您对班级学生()的定义在哪里? < - 持有一个Class Class数组

要处理文件中的行,您可以执行以下操作:

        string[] students = File.ReadAllLines(STUDENTS_FILE);
        foreach (string studentData in students)
        {

            // ... do something in here with "studentData" ...

        }

循环中的“东西”就像@gwin003发布的那样。