gpt4 book ai didi

c# - C# Dictionary>.GetObjectData() (serialization) 是否一致?

转载 作者:太空狗 更新时间:2023-10-29 23:03:01 24 4
gpt4 key购买 nike

我知道字典不会按照添加的顺序存储它们的键值对,但是如果我将相同的键值对(可能以不同的顺序)添加到两个不同的字典并序列化结果,文件中的数据是否相同?

编辑:澄清一下,我专门询问 GetObjectData() 的输出,而不是任何特定的序列化程序。考虑以下代码:

Dictionary<string,List<string>> dict1 = new Dictionary<string,List<string>>();
Dictionary<string,List<string>> dict2 = new Dictionary<string,List<string>>();
string key11 = "key1";
string key12 = "key1";
string key21 = "key2";
string key22 = "key2";
List<string> values11 = new List(1);
List<string> values12 = new List(1);
List<string> values21 = new List(1);
List<string> values22 = new List(1);
values11.add("value1");
values12.add("value1");
values21.add("value2");
values22.add("value2");
dict1.add(key11, values11);
dict2.add(key22, values22);
dict1.add(key21, values21);
dict2.add(key12, values12);

对于 GetObjectData(),dict1 和 dict2 会返回同样的东西吗?如果不是,为什么不呢?

最佳答案

它是否最终会成为 future 版本和/或替代实现中可能无法保证的实现细节;因此,我建议至少编写一个测试来验证它并可以作为标准测试的一部分运行。但是,如果您正在实现一个完全依赖于它的解决方案,那么可能值得编写您自己的序列化程序...

关于c# - C# Dictionary<string, List<string>>.GetObjectData() (serialization) 是否一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5756059/

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