C# - 将对象列表序列化为文件的最佳方法是什么?
C# - What is the best way to serialize list of objects to files?
我看到了一些技巧:
- 使用 XmlSerializer 和 system.IO.File 序列化为 XML 文件 class
- 使用 XmlSerializer 和 streamWriter 序列化为 XML 文件
- 使用 BinaryFormatter 和 File 序列化为 bin 文件 Class
它们有什么区别吗?
谢谢
在 1 和 2 之间输出没有区别你会得到一个xml
文件结构,看起来像这样人类可读
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<myList>
<object>1</object>
<object>2</object>
</myList>
对于 3 个二进制文件,您的对象将存储在 binary format 这意味着 机器可读 ,并且看起来像这样
100101010111010101110101010...10101
结论:如果你想让其他人(或你)阅读你的序列化数据去xml
,如果你不关心可读性去binary
.
选项 1 和 2 基本相同,将 XML 序列化为 stream/file。 #3 会写出比其他选项小得多的占用空间。
我看到了一些技巧:
- 使用 XmlSerializer 和 system.IO.File 序列化为 XML 文件 class
- 使用 XmlSerializer 和 streamWriter 序列化为 XML 文件
- 使用 BinaryFormatter 和 File 序列化为 bin 文件 Class
它们有什么区别吗?
谢谢
在 1 和 2 之间输出没有区别你会得到一个xml
文件结构,看起来像这样人类可读
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<myList>
<object>1</object>
<object>2</object>
</myList>
对于 3 个二进制文件,您的对象将存储在 binary format 这意味着 机器可读 ,并且看起来像这样
100101010111010101110101010...10101
结论:如果你想让其他人(或你)阅读你的序列化数据去xml
,如果你不关心可读性去binary
.
选项 1 和 2 基本相同,将 XML 序列化为 stream/file。 #3 会写出比其他选项小得多的占用空间。