c# – 使用不区分大小写的字符串比较器初始化字典时序列化字典

前端之家收集整理的这篇文章主要介绍了c# – 使用不区分大小写的字符串比较器初始化字典时序列化字典前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在将Dictionary序列化为 XML.当我创建一个新的字典时,我使用构造函数来提供没有外壳的EqualityComparer
var tabs = new Dictionary<string,Tab>(StringComparer.OrdinalIgnoreCase);

然后我序列化为XML,当我反序列化有关套管的信息丢失时 – 使用GenericEqualityComparer对字典进行反序列化,这显然是区分大小写的,因为如果它们没有正确套装,它就找不到我的密钥.

任何想法我怎样才能改变它?

一种方法是创建一个新的字典并将数据从反序列化复制到新的字典,但这似乎很麻烦.

更新:

反序列化一直在工作,只是它将序列化的字典序列化为不使用不区分大小写的键的字典.

解决方法

我知道这个问题很老了,但我最近发现自己正在寻找如何做到这一点.

使用.Net4(就像@mare所说),你可以创建一些非常好的扩展方法来使这变得轻而易举.查看https://stackoverflow.com/a/5941122/435460以获得简单易用的实现.

经过大量的挖掘,这对我来说就像是一种魅力.

猜你在找的C#相关文章