C# 在忽略大小写词典中查找元素的拼写
奇怪的问题,但我有一个用StringComparer.OrdinalIgnoreCase创建的字典,看起来像这样 AaA,10C# 在忽略大小写词典中查找元素的拼写,c#,dictionary,C#,Dictionary,奇怪的问题,但我有一个用StringComparer.OrdinalIgnoreCase创建的字典,看起来像这样 AaA,10 aAB,20 AAC,12 然后,我使用myDictionary[“AAA”]查找与键关联的值,但我还需要知道的是myDictionary中键的实际拼写,例如,在这种情况下,我希望它返回AAA。有没有办法不用循环就能做到这一点? Thx.更改字典,使其看起来像这样: public struct myValue { int myInt; string Mi
aAB,20
AAC,12
然后,我使用myDictionary[“AAA”]查找与键关联的值,但我还需要知道的是myDictionary中键的实际拼写,例如,在这种情况下,我希望它返回AAA。有没有办法不用循环就能做到这一点?
Thx.更改字典,使其看起来像这样:
public struct myValue
{
int myInt;
string MixedCaseWord;
}
var dictionary = new Dictionary<string, myValue>(StringComparer.OrdinalIgnoreCase);
var key = "AaA";
dictionary.Add(key, new MyValue { myInt = 10, MixedCaseWord = key });
var correctSpelling = dictionary["AAA"].MixedCaseWord;
公共结构myValue
{
int-myInt;
字符串混合caseword;
}
var字典=新字典(StringComparer.OrdinalIgnoreCase);
var key=“AaA”;
Add(key,newmyvalue{myInt=10,MixedCaseWord=key});
var correctSpelling=字典[“AAA”]。混合caseword;
更改词典,使其看起来像这样:
public struct myValue
{
int myInt;
string MixedCaseWord;
}
var dictionary = new Dictionary<string, myValue>(StringComparer.OrdinalIgnoreCase);
var key = "AaA";
dictionary.Add(key, new MyValue { myInt = 10, MixedCaseWord = key });
var correctSpelling = dictionary["AAA"].MixedCaseWord;
公共结构myValue
{
int-myInt;
字符串混合caseword;
}
var字典=新字典(StringComparer.OrdinalIgnoreCase);
var key=“AaA”;
Add(key,newmyvalue{myInt=10,MixedCaseWord=key});
var correctSpelling=字典[“AAA”]。混合caseword;
字典定义为Dictionary,因此myDictionary[“AAA”]返回一个整数……啊,你说得对。我已经用另一种解决方案修改了上面的答案(不利用OrdinalingOrecase字典,但如果只拔出一次键,可能会更容易)。我认为这个修改后的解决方案仍然在循环。。。循环只是委托给LINQ…没错,尽管CLR将针对这种类型的操作进行优化,所以我无法想象性能会有多大差异。我以后会试试的…只是为了好玩!字典被定义为Dictionary,所以myDictionary[“AAA”]返回一个整数……啊,你说得对。我已经用另一种解决方案修改了上面的答案(不利用OrdinalingOrecase字典,但如果只拔出一次键,可能会更容易)。我认为这个修改后的解决方案仍然在循环。。。循环只是委托给LINQ…没错,尽管CLR将针对这种类型的操作进行优化,所以我无法想象性能会有多大差异。我以后会试试的…只是为了好玩!