-
当我们使用公开属性以及公开字段时,都可以顺利的被序列化,
[Serializable] public class MyClass { public int ID; public string Address; private int _age; public string Name { get; set; } public int Age { get { return _age; } set { _age = value; } } }
Xml序列化成档案后的结果就像下图:
JSON
bin,因为bin档案肉眼看不懂,所以用反序列化表示
但总是会有不想要存成档案的字段或属性
JSON及XML 若是不想被序列化 "属性" 及 "字段" 使用以下Attribute:[System.Xml.Serialization.XmlIgnore]
[System.Web.Script.Serialization.ScriptIgnore]
BinaryFormatter 若是不想被序列化 "属性" 只要在相对应的 "字段" 使用以下:[NonSerialized] 看个例子:[Serializable] public class MyClass { [NonSerialized] public int ID; public string Address; [NonSerialized] private int _age; public string Name { get; set; } [System.Xml.Serialization.XmlIgnore] [System.Web.Script.Serialization.ScriptIgnore] public int Age { get { return _age; } set { _age = value; } } }
Xml序列化,忽略Age属性
JSON序列化,忽略Age属性
BinaryFormatter序列化忽略 Age属性 及 ID 字段
C#.NET如何不序列化字段、属性
推荐阅读
- 大数据小视角2:ORCFile与Parquet,开源圈背后的生意
- 流处理与消息队列------《Designing Data-Intensive Applications》读书笔记16
- C++雾中风景3:const用法的小结
- C++雾中风景4:多态引出的困惑,对象的拷贝?
- ClickHouse源码笔记3:函数调用的向量化实现
- ClickHouse源码笔记5:聚合函数的源码再梳理
- Doris开发手记1:解决蛋疼的MySQL 8.0连接问题
- ClickHouse源码笔记2:聚合流程的实现
- C++雾中风景番外篇2:Gtest 与 Gmock,聊聊C++的单元测试
- Linux 程序设计1:深入浅出 Linux 共享内存