C# 类序列化为文件,文件反序列化为类(二进制)
2021-03-10 19:27
阅读:670
标签:pac eric ace src 序列化 http code turn using
(1)添加引用
(2)在将要序列化的类中引用 using ProtoBuf; 并且在类之前添加字段 [Serializable] 变量之前添加字段 ProtoMember 效果如下所示:
1 using System; 2 using ProtoBuf; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 8 namespace eaa 9 { 10 [Serializable] // 提示该类可序列化 11 [ProtoContract] 12 public class Company 13 { 14 [ProtoMember(1)] 15 public string Name; 16 [ProtoMember(2)] 17 public string isComplete; 18 [ProtoMember(3)] 19 public Listcomment = new List (); 20 } 21 [Serializable] // 提示该类可序列化 22 [ProtoContract] 23 public class Comment 24 { 25 [ProtoMember(1)] 26 public string time; 27 [ProtoMember(2)] 28 public string comment; 29 [ProtoMember(3)] 30 public string verifier; 31 [ProtoMember(4)] 32 public string complete; 33 } 34 }
(3)建立方法用于将类序列化并保存为二进制文件
1 ///2 /// 将类序列化并保存成文件 3 /// 4 /// 5 /// 6 /// 7 public static bool SerializetoFile(string filePath, Dictionarystring, Company> outputData) 8 { 9 try 10 { 11 FileStream fs = new FileStream(filePath, FileMode.Create); 12 BinaryFormatter bf = new BinaryFormatter(); 13 bf.Serialize(fs, outputData); 14 fs.Close(); 15 return true; 16 } 17 catch (Exception ex) 18 { 19 Console.WriteLine(ex.Message); // 打印错误日志 20 return false; 21 } 22 }
(4)建立方法用于将二进制文件反序列化为对应的类
1 ///2 /// 将文件反序列化为类 3 /// 4 /// 5 /// 6 public static bool FiletoSerialize(ref Dictionarystring, Company> inputData,string filePath) 7 { 8 try 9 { 10 FileStream fs = new FileStream(filePath, FileMode.Open); 11 BinaryFormatter bf = new BinaryFormatter(); 12 inputData = bf.Deserialize(fs) as Dictionarystring, Company>; 13 fs.Close(); 14 return true; 15 } 16 catch (Exception ex) 17 { 18 Console.WriteLine(ex.Message); // 打印错误日志 19 return false; 20 } 21 }
C# 类序列化为文件,文件反序列化为类(二进制)
标签:pac eric ace src 序列化 http code turn using
原文地址:https://www.cnblogs.com/lijinying/p/12681048.html
文章来自:搜素材网的编程语言模块,转载请注明文章出处。
文章标题:C# 类序列化为文件,文件反序列化为类(二进制)
文章链接:http://soscw.com/index.php/essay/62892.html
文章标题:C# 类序列化为文件,文件反序列化为类(二进制)
文章链接:http://soscw.com/index.php/essay/62892.html
评论
亲,登录后才可以留言!