我正在将Dictionary序列化为
XML.当我创建一个新的字典时,我使用构造函数来提供没有外壳的EqualityComparer
var tabs = new Dictionary<string,Tab>(StringComparer.OrdinalIgnoreCase);
然后我序列化为XML,当我反序列化有关套管的信息丢失时 – 使用GenericEqualityComparer对字典进行反序列化,这显然是区分大小写的,因为如果它们没有正确套装,它就找不到我的密钥.
任何想法我怎样才能改变它?
一种方法是创建一个新的字典并将数据从反序列化复制到新的字典,但这似乎很麻烦.
更新:
反序列化一直在工作,只是它将序列化的字典序列化为不使用不区分大小写的键的字典.
解决方法
我知道这个问题很老了,但我最近发现自己正在寻找如何做到这一点.
使用.Net4(就像@mare所说),你可以创建一些非常好的扩展方法来使这变得轻而易举.查看https://stackoverflow.com/a/5941122/435460以获得简单易用的实现.
经过大量的挖掘,这对我来说就像是一种魅力.