我创建了一个类,请求用户输入(7个文本框的个人数据)
我需要使用StreamWriter类将该数据保存在平面文件中以供以后使用。
我必须为每个字段创建单独的实例吗?
private void btnSaveFile_Click(object sender, EventArgs e)
{
StreamWriter studentInfo = new StreamWriter(txtFirstName.Text);
}
或者有一种方法,我可以要求StreamWriter打印该类中的所有字段?我试过重载方法,但显然这是做不到的。
是的,如果您先将其序列化为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());
}
}
希望能有所帮助
你可以用[Serializable]
属性标记你的类。然后可以使用BinaryFormatter
将类写入流。如果数据是人类可读的,这对您来说并不重要。