gpt4 book ai didi

c# - 为什么 .Net 框架中有那么多简单类型没有标记为可序列化?

转载 作者:可可西里 更新时间:2023-11-01 08:49:59 33 4
gpt4 key购买 nike

我发现 .Net 框架中的许多简单类型没有标记为可序列化,这是一个反复出现的不便。例如:System.Drawing.PointRectangle

这两个结构都只包含原始数据,应该可以很容易地以任何格式序列化。但是,由于缺少 [System.Serializable] 属性,我无法将它们与 BinaryFormatter 一起使用。

这有什么我没有看到的原因吗?

最佳答案

这只是一个效率问题。将字段标记为可序列化,编译器必须将每个字段映射到别名表。如果它们都被标记为可序列化,则每个注入(inject)或继承它们的对象都需要映射到别名表以处理其序列化,而您可能永远不会使用它们并且它具有内存和处理成本并且更不安全。用数百万个元素对其进行测试,您就会看到。

关于c# - 为什么 .Net 框架中有那么多简单类型没有标记为可序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44027402/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com