小编典典

在 C# 中具有字符串键类型的不区分大小写字典

all

如果我有,Dictionary<String,...>是否可以制作ContainsKey不区分大小写的方法?

这似乎相关,但我没有正确理解:c# Dictionary: making the Key case-insensitive through
declarations


阅读 82

收藏
2022-07-12

共1个答案

小编典典

这似乎相关,但我没有正确理解:c# Dictionary: making the Key case-insensitive through
declarations

确实有关系。解决方案是告诉字典实例不要使用标准的字符串比较方法(区分大小写),而是使用不区分大小写的方法。这是使用适当的构造函数完成的:

var dict = new Dictionary<string, YourClass>(
        StringComparer.InvariantCultureIgnoreCase);

构造函数需要一个IEqualityComparer告诉字典如何比较键的值。

StringComparer.InvariantCultureIgnoreCase给你一个IEqualityComparer实例,它以不区分大小写的方式比较字符串。

2022-07-12