【发布时间】:2014-12-18 08:33:38
【问题描述】:
如果我有一个Dictionary<char,...>,是否可以使方法 ContainsKey 不区分大小写?
我知道,在Dictionary<string,...>中使用了StringComparer.InvariantCultureIgnoreCase,但是当字典中的key是char类型时该怎么办?
【问题讨论】:
-
一个非常简单的选项是为'a'和'A'添加相同的值,例如。但将其视为一种解决方法。
-
您的“我知道..”的参考:stackoverflow.com/questions/13988643/…
-
为了清楚起见 - 您是在寻找不区分大小写字典的解决方案(因此
myDict['a']相当于myDict['A']),还是仅一个案例-不敏感的 ContainsKey 方法(所以myDict.ContainsKey('a')无论是否定义了 'a' 或 'A' 或两者都返回 true ?) -
@MickyDuncan 确实,这就是为什么我没有将其发布为 aswer 的原因。但是,它简单且易于实现。毕竟,如果它们都被使用的话,它只会多占用 26 个位置 - 不是那么多!
-
@Avner Shahar-Kashtan 我有只有大写字母的字典,但是当我使用 ContainsKey('a') 时它必须工作。
标签: c# dictionary collections