|
1
5
您要求保证序列化表示将匹配。这将是非常困难的,二进制格式化程序是一个复杂的类。特别是带有对齐填充的序列化结构可能是一个潜在的问题。 更简单的是提供一个不匹配的例子。对于0.01m和0.010m这样的值,decimal有不同的字节模式。它的运算符==()表示它们相等,它的序列化字节[]则不相等。 |
|
2
2
你必须更精确地定义什么是平等。 如果其中一个属性是集合,则在顺序上(由于特定的添加/删除序列)可能存在差异,这对您来说可能重要,也可能不重要。想想一本字典,同样的元素是按不同的顺序添加的。碰撞可能导致不同的二进制流。 |
|
|
3
2
如果:
所以这将 工作 对于大量的案例,但我可能不会认为这是一个好的实践,至少在不知道它所使用的特定上下文的所有细节的情况下。至少,我不会将此作为 任何 两个实例;它只能在您知道所涉及类的实现细节的特定情况下使用。 当然,有些人可能会说,编写任何依赖于类的实现细节的代码都是 总是 不好的做法。我对此的看法比较温和,但需要考虑的是——依赖类的实现细节可能会导致以后难以维护代码。 |