日期:2014-05-18  浏览次数:20767 次

c#中序列化和反序列化

其中Card为一个类,在将要序列化的类前面加上[Serializable]

string path="c:\log\log.txt";//定义一个路径

序列化对象
public void WriteData(List<Card> cards)
{
            FileStream fs = new FileStream(path, FileMode.Create,FileAccess.Write);
            IFormatter formatter = new BinaryFormatter();
            formatter.Serialize(fs,cards);
            fs.Close();
}
反序列化:
public List<Card> ReadData()
{
            FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
            IFormatter formatter = new BinaryFormatter();
            List<Card> cards = formatter.Deserialize(fs) as List<Card>;
            fs.Close();
            return cards;
}

另一点:

File对文件读写
File.WriteAllText(path, context, Encoding.Default);//其中有汉字的时候要进行编码控制