C# - 将对象列表序列化为文件的最佳方法是什么?

时间:2015-03-27 14:54:11

标签: .net serialization

我看到了一些技巧:

  1. 使用XmlSerializer和system.IO.File类
  2. 序列化为XML文件
  3. 使用XmlSerializer和streamWriter序列化为XML文件
  4. 使用BinaryFormatter和文件类序列化到bin文件
  5. 它们之间有什么区别吗?

    由于

2 个答案:

答案 0 :(得分:1)

在1到2之间,输出没有区别,你会得到一个xml文件结构,看起来像这样人类可读

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<myList>
   <object>1</object>
   <object>2</object>
</myList>

对于3个binay,您的对象将存储在binary format中,这意味着机器可读,并且看起来像这样

100101010111010101110101010...10101

Conlusion :如果您希望其他人(或您)阅读序列化数据,请转到xml,如果您不关心可读性,请转到binary

答案 1 :(得分:1)

选项1&amp; 2基本相同,将XML序列化为流/文件。与其他选项相比,#3写的占用空间要小得多。