C# 保存对象结果到txt
时间: 2023-11-30 13:04:13 浏览: 32
要将一个对象保存为文本文件,可以使用C#的序列化和反序列化功能。
首先,需要在对象所在的类上加上 `[Serializable]` 特性,以便能够序列化该对象。例如:
```csharp
[Serializable]
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
```
然后,可以使用 `BinaryFormatter` 或 `XmlSerializer` 对象来序列化和反序列化对象。这里以 `XmlSerializer` 为例:
```csharp
// 创建一个Person对象
Person person = new Person { Name = "Tom", Age = 25 };
// 创建一个XmlSerializer对象
XmlSerializer serializer = new XmlSerializer(typeof(Person));
// 将对象序列化为XML文本
using (TextWriter writer = new StreamWriter("person.txt"))
{
serializer.Serialize(writer, person);
}
```
上述代码将会把 `Person` 对象序列化为一个XML文本,并保存到名为 `person.txt` 的文本文件中。
要读取文本文件并反序列化为对象,可以使用下面的代码:
```csharp
// 创建一个XmlSerializer对象
XmlSerializer serializer = new XmlSerializer(typeof(Person));
// 从XML文本中反序列化为Person对象
using (TextReader reader = new StreamReader("person.txt"))
{
Person person = (Person)serializer.Deserialize(reader);
}
```
上述代码将会从名为 `person.txt` 的文本文件中读取XML文本,并将其反序列化为一个 `Person` 对象。