using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
using System.Threading.Tasks;
namespace 接口
{
public enum Gender
{
female,
male
}
class Program
{
static void Main(string[] args)
{
//使用输入输出流将序列化后的对象保存到文件中
using (FileStream fsWriter = new FileStream(@"C:\Users\htao\Desktop\new.txt", FileMode.OpenOrCreate, FileAccess.Write))
{
Person p = new Person("张三", 18, Gender.male);
BinaryFormatter bf = new BinaryFormatter();
try
{
bf.Serialize(fsWriter, p);//将Person对象序列化
}
catch
{
Console.WriteLine("序列化失败");
}
}
Console.WriteLine("序列化成功");
Person p = null;
using (FileStream fsReader = new FileStream(@"C:\Users\htao\Desktop\new.txt", FileMode.OpenOrCreate, FileAccess.Read))
{
BinaryFormatter bf = new BinaryFormatter();
p = (Person)bf.Deserialize(fsReader);
Console.WriteLine("姓名:{0},年龄:{1},性别:{2}", p.Name, p.Age, p.Gender);
}
Console.ReadKey();
}
}
[Serializable]
public class Person
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
private int _age;
public int Age
{
get { return _age; }
set { _age = value; }
}
private Gender _gender;
public Gender Gender
{
get { return _gender; }
set { _gender = value; }
}
public Person(string name, int age, Gender gender)
{
this.Name = name;
this.Age = age;
this.Gender = gender;
}
}
}
C#对象序列化和反序列化
猜你喜欢
转载自www.cnblogs.com/ww7018/p/9210635.html
今日推荐
周排行