我正在尝试做一些非常简单的事情。我正在制作一个Windows表单应用程序,它本质上是一个简单的“学生成绩计算器”。我有表格工作,它可以读取文件并在文本框中显示其数据。但是,我需要将每行的列存储在自己的字段中。
您可以在下面看到它应该读取/编辑/保存的文件示例。
这是我目前用来读取文件的内容:
private void LoadFile()
{
string lineFromFile;
fileContentTextBox.Clear();
try
{
using (StreamReader reader = new StreamReader(fileName))
{
while (!reader.EndOfStream)
{
lineFromFile = reader.ReadLine();
fileContentTextBox.AppendText(lineFromFile);
fileContentTextBox.AppendText(Environment.NewLine);
}
}
那么,我怎样才能将其数据存储在以下字段中:
我知道你必须使用这样的东西,但我不确定如何在这种情况下使用它,我需要将文件的数据存储在许多单独的字段中?
lines[i].Split(',')
表单中的输出最终会看起来像这样:
如果有更好的方法可以做到这一点,比如把每一行都放到一个字符串然后将它分开,请告诉我。
答案 0 :(得分:1)
我无法用手机上的代码描述,但我会这样做:
创建一个新课程,如果需要,可以将其称为学生。在学生中,创建您需要的属性(例如标记,称重)。
在主程序中,创建一个新的学生列表。
在你的while循环中,你读取该行,创建一个新学生。然后,将该行拆分为您的字符串数组。按索引访问字符串数组,获取属性并将值分配给学生属性。
最后,将创建的学生添加到学生列表中。
使用某些代码进行更新
好的,让我们假设您正在为学生创建一个地址簿。
您将拥有Student
课程:
public class Student
{
public string Name {get;set;}
public int Age {get;set;}
}
然后在您的主程序中,您需要创建一个列表来存储您的学生:
var students = new List<Student>();
最后,您要阅读文件,创建学生并将他/她添加到列表中:
while (!reader.EndOfStream)
{
var student = new Student();
ineFromFile = reader.ReadLine();
var arrayOfProperties = ineFromFile.Split();
student.Name = arrayOfProperties[0]; #Make sure you know the indices, or you will have to create a custom parser ;)
student.Age = (int)arrayOfProperties[1]; #Remember to convert from string.
students.Add(student); # add your student!
}