当前位置: 首页 > 知识库问答 >
问题:

C语言中字符串键类型的不区分大小写字典#

季城
2023-03-14

如果我有字典

这似乎有关联,但我没有正确理解:c#Dictionary:通过声明使键不区分大小写


共有3个答案

蒋茂
2023-03-14

很少有机会处理从第三方或外部dll提取的字典。使用linq

YourDictionary.Any(i => i.KeyName.ToLower().Contains("yourstring")))
施越彬
2023-03-14
var myDic = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase);
myDic.Add("HeLlo", "hi");

if (myDic.ContainsKey("hello"))
    Console.WriteLine(myDic["hello"]);
詹弘毅
2023-03-14

这似乎有关联,但我没有正确理解:c#Dictionary:通过声明使键不区分大小写

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

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

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

StringComparer。InvariantCultureIgnorCase提供了一个IEqualityComparer实例,它以不区分大小写的方式比较字符串。

 类似资料:
  • 需要制作一个密码程序,用户在开始时设置密码,在程序停止前可以输入密码3次。该程序不能区分大小写。 程序按预期打印,但不区分大小写

  • 问题内容: 由于以下原因,我想使用不区分大小写的字符串作为HashMap键。 在初始化期间,我的程序使用用户定义的String创建HashMap。 在处理事件(在我的情况下为网络流量)时,我可能会在其他情况下收到String,但是我应该能够忽略HashMap中的来自我的情况而从HashMap 定位。 我遵循了这种方法 LookupCode.java 因此,我为每个事件创建一个CaseInsensi

  • 本文向大家介绍C语言字符串大小比较,包括了C语言字符串大小比较的使用技巧和注意事项,需要的朋友参考一下 C语言字符串大小比较 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 问题内容: 如何以不区分大小写的方式比较字符串? 例如,“ Go”和“ go”应视为相等。 问题答案: https://golang.org/pkg/strings/#EqualFold是您要寻找的功能。它的用法如下(来自链接文档的示例):

  • 问题内容: 如何以 不区分大小写的 方式在文件中搜索单词? 例如 如果我正在文件中搜索,如果文件包含更新,则搜索应将其选中并将其视为匹配项。 问题答案: 可以在忽略大小写的情况下检查两个字符串是否相等。它甚至可以与Unicode一起使用。有关更多信息,请参见http://golang.org/pkg/strings/#EqualFold。 http://play.golang.org/p/KDdI

  • 问题内容: 我需要不区分大小写地突出显示JavaScript字符串中的给定关键字。 例如: 应该回来 我需要用于任何关键字的代码,因此使用像硬编码的正则表达式这样的解决方案还不够。 最简单的方法是什么? (这是标题中详述的更一般问题的实例,但我认为最好用一个具体,有用的示例来解决。) 问题答案: 你 可以 ,如果你准备搜索字符串使用正则表达式。在PHP中,例如有一个函数preg_quote,它用转