我创建了一个请求用户输入的类(个别数据的7个文本框)
我需要保存该数据,以便以后在使用StreamWriter类的平面文件中使用。
我是否必须为每个字段创建单个实例?
private void btnSaveFile_Click(object sender, EventArgs e)
{
StreamWriter studentInfo = new StreamWriter(txtFirstName.Text);
}
或者有没有办法让StreamWriter打印该类中的所有字段?我尝试重载该方法,但显然无法完成。
答案 0 :(得分:1)
是的,如果您首先将其序列化为JSON或XML,请将其作为字符串...或最简单的方式...向您的班级添加ToString()
方法:
class Person
{
public string Name { get; set; }
public int Age { get; set; }
public Person (string name, int age) {
this.Name = name;
this.Age = age;
}
public override string ToString()
{
return "Person: " + Name + " " + Age;
}
}
然后编写Class实例将其写入文件:
private void btnSaveFile_Click(object sender, EventArgs e)
{
string mydocpath = ""; // add your path here
Person newPerson = new Person ("David", 32);
using (StreamWriter studentInfo = new StreamWriter(mydocpath + @"\Student.txt")) {
studentInfo.WriteLine(newPerson.ToString());
}
}
希望这有帮助
答案 1 :(得分:0)
您可以使用[Serializable]
属性标记您的课程。然后,您可以使用BinaryFormatter
将类写入流。如果数据是人类可读的,那对你来说并不重要。