Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在忽略大小写词典中查找元素的拼写_C#_Dictionary - Fatal编程技术网

C# 在忽略大小写词典中查找元素的拼写

C# 在忽略大小写词典中查找元素的拼写,c#,dictionary,C#,Dictionary,奇怪的问题,但我有一个用StringComparer.OrdinalIgnoreCase创建的字典,看起来像这样 AaA,10 aAB,20 AAC,12 然后,我使用myDictionary[“AAA”]查找与键关联的值,但我还需要知道的是myDictionary中键的实际拼写,例如,在这种情况下,我希望它返回AAA。有没有办法不用循环就能做到这一点? Thx.更改字典,使其看起来像这样: public struct myValue { int myInt; string Mi

奇怪的问题,但我有一个用StringComparer.OrdinalIgnoreCase创建的字典,看起来像这样

AaA,10
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将针对这种类型的操作进行优化,所以我无法想象性能会有多大差异。我以后会试试的…只是为了好玩!