为什么XmlSerializer不支持Dictionary?

只是好奇为什么不支持Dictionary XmlSerializer

通过使用DataContractSerializer对象并将其写入,您可以很容易地解决它XmlTextWriter,但是Dictionary的特征是什么使得XmlSerializer考虑到它实际上是KeyValuePairs数组很难处理。

实际上,您可以将传递IDictionary<TKey, TItem>给需要的方法IEnumerable<KeyValuePairs<TKey,

ITem>>

回答:

哈希表通常需要哈希码和相等比较器提供程序。这些不能以XML轻松序列化,并且绝对不会移植。

但是我认为您已经找到了答案。只需将哈希表序列化为a List<KeyValuePair<K,V>>,然后将其(重新)构造为哈希表即可。

以上是 为什么XmlSerializer不支持Dictionary? 的全部内容, 来源链接: utcz.com/qa/401144.html

回到顶部