C# LIST 序列化和反序列化

List<Class> list=new List<Class>();

注意:在c#序列化和反序列化中,在定义Class类时,需要在前面加[Serializable],如:[Serializable] public class Class{}

序列化:

SaveFileDialog save = new SaveFileDialog();
            save.FileName = "Works";
            if (save.ShowDialog() == DialogResult.OK)
            {
                FileStream fileStream = new FileStream(save.FileName + ".gra", FileMode.Create);
                BinaryFormatter b = new BinaryFormatter();
                b.Serialize(fileStream, list);
                fileStream.Close();
            }

反序列化:

OpenFileDialog open = new OpenFileDialog();
            if (open.ShowDialog() == DialogResult.OK)
            {
                FileStream fileStream = new FileStream(open.FileName, FileMode.Open, FileAccess.Read, FileShare.Read);
                BinaryFormatter b = new BinaryFormatter();
                list = (List<Class>)b.Deserialize(fileStream);
                fileStream.Close();
            }

 

posted @ 2020-08-08 22:34  Jiangxuhua  阅读(3929)  评论(0)    收藏  举报