StreamWriter可以保存整个类吗?



我创建了一个类,请求用户输入(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将类写入流。如果数据是人类可读的,这对您来说并不重要。

相关内容

  • 没有找到相关文章

最新更新