为什么要序列化

那该多好啊!!! 2020-07-25 08:26:18
FileStream fileStream = new FileStream(strFilename, FileMode.Create, FileAccess.Write);
new BinaryFormatter().Serialize(fileStream, param_dot);
fileStream.Close();

new FileStream这个表示创建文件存储文件吧,后面new BinaryFormatter().Serialize序列化有什么好处呢

我的理解是不是比如param_dot是一个对象,那么存储了就以这个对象的形式存储,不像CSV文件等存储以CSV格式和文件形式存储

存储后要打开这个文件是打不开的,
序列化与用文件形式存储相比有哪些好处呢
...全文
1647 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
危机! 2020-07-25
  • 打赏
  • 举报
回复
便于网络传输
八爻老骥 2020-07-25
  • 打赏
  • 举报
回复
序列化是某种标准下的内存转储。比如用xml表示一个配置文件,这个xml可以直接映射到某个内存对象,这样你就可以使用序列化的文件记录某些状态,下次程序再次运行的时候就可以从序列化文件中恢复。而且序列化成文件后,可以在网络上传输,这样就可以轻松实现跨服务器的远程调用,而不必进行烦琐的字节流操作。
noban 2020-07-25
  • 打赏
  • 举报
回复
不错。 讲得很好。谢谢分享。
  • 打赏
  • 举报
回复
好比如说,一个人用怕电影来表达自己的情感,另一个人则用某种文字记录了下来,假设只有文字被刻在了石壁上并且传到50万年以后,而电影早就消失了,那么这个石壁上的东西就叫做那个电影的“序列化”。

你懂文件(流),就知道为什么要序列化。不是纠结什么“好处",是必须进行格式转化才能把不同的东西协调使用起来啊!
  • 打赏
  • 举报
回复
"序列化有什么好处?“,这类问题很难回答。文件系统本来只能写入 byte 内容,常见的扩展是还可以写入 unicode 等等文本(实际上也是调用字符串序列化方法而实现的)。序列化就是格式转换。

谈不上好处,必须的基础功能。
wanghui0380 2020-07-25
  • 打赏
  • 举报
回复
不要过于纠结语法,说实话有些看这特高级,特有技巧的东西,其实没有为啥,也不是他就故意要那么高级 而是那个语言没有办法直接表达意思了 比如 ten million,好高级是吧,10个100w 没办法,这不是高级,因为他的语法没有那个量词,他无法自然表达了 这里天天折腾的线程就是这类“高级”玩意,因为当年的语言不足以自然表达意思了,那就只能写ten million,而现在语言已经有量词了,你就应该直接说1千万,而不应该扰着弯子说10个100w多有范了
wanghui0380 2020-07-25
  • 打赏
  • 举报
回复
我就想写成json,我就想写错ini 我就想写成hcon 没有为什么,我就是这么想的,我就这么写了,不行么? 貌似在你以前的帖子里也说过,不要过于纠结语法技巧,首先看程序员写东西的时候的想法 “推敲”两个字没有谁好谁坏,不要总跟博客园学啥优势,区别,vs,是主语还是谓语。那种学法是应付考试,忽悠hr的 而一线程序员说,推敲没有谁好谁坏,别问我什么优势,区别,你先告诉我们上下文环境,语境,你想表达的思想
wanghui0380 2020-07-25
  • 打赏
  • 举报
回复
不要问我们,也不要纠结这些 代码代表程序员的思维,不代表什么技术技巧,这里人家就想如此,没有为啥,只是他就想而已 别像俺们当初那些老师们像教数学那样教英语,什么主谓宾定状补,什么语法公式,结果如何 任何语言代表的都是思维,而不是撒主谓宾。川同志还经常拼写错误,语法错误呢,可他还是“辩论会”的赢家
threenewbee 2020-07-25
  • 打赏
  • 举报
回复
因为对象是树状的(一个对象包含很多字段,有的字段又是对象,又包含很多子字段)
而文件存储、网络传输是线性的,所以需要序列化。序列化之后的数据可以存储,可以传输。

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧