简短而简单:如果我的对象具有多个值==的默认构造函数值,那么使用二进制格式化程序的序列化是否会在结果文件中省略它们以节省空间?我正在计算,因为无论如何都要从类定义中知道这个值。
答案 0 :(得分:2)
我猜答案是否定的,因为序列化程序应该如何知道你在构造函数中赋值的值?可以使用反射或从数据库读取来分配它。如果默认值是default(T)
,那么这是一个不同的故事。
答案 1 :(得分:1)
默认情况下不会猜测,除了使用DefaultValueAttribute
的值之外?你为什么不尝试看看?