如果我有一个Dictionary<String,...>
是否可以使用类似的方法ContainsKey
不区分大小写?
这似乎相关,但我没有正确理解:C# Dictionary:通过声明使 Key 不区分大小写 https://stackoverflow.com/questions/6676245/c-sharp-dictionary-making-the-key-case-insensitive-through-declarations
这似乎相关,但我没有正确理解它:c# Dictionary: Making the Key case-insensitive through statements
确实是有关系的。解决方案是告诉字典实例不要使用标准字符串比较方法(区分大小写),而是使用不区分大小写的方法。这是使用以下方法完成的适当的构造函数 http://msdn.microsoft.com/en-us/library/ms132072(v=vs.80).aspx:
var dict = new Dictionary<string, YourClass>(
StringComparer.InvariantCultureIgnoreCase);
构造函数期望一个IEqualityComparer http://msdn.microsoft.com/en-us/library/ms132151(v=vs.80).aspx它告诉字典如何比较键。
StringComparer.InvariantCultureIgnoreCase http://msdn.microsoft.com/en-us/library/system.stringcomparer.invariantcultureignorecase.aspx给你一个IEqualityComparer
以不区分大小写的方式比较字符串的实例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)