使用KeyValuePair迭代C#字典

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用KeyValuePair迭代C#字典相关的知识,希望对你有一定的参考价值。

我尝试迭代字典,但它显示我这个错误:

“无法从'System.Collections.Generic.KeyValuePair'转换为'string'”。

你能告诉我如何解决这个问题吗?

这是代码:

var dict = new SortedDictionary<string, string>();
foreach(KeyValuePair<string, string> ugh in dict){

               .............     
}

先感谢您。

答案

您不能将类型KeyValuePair分配给string,而是可以像这样提取键和值:

var dict = new SortedDictionary<string, string>();
foreach (KeyValuePair<string, string> keyValue in dict)
{
       var key = keyValue.Key;
       var value = keyValue.Value;    
       ...
       ...          
} 
另一答案

以下应该工作

foreach (var keyValue in dict)
{
       var key = keyValue.Key;
       var value = keyValue.Value;    
       //other logic
} 

以上是关于使用KeyValuePair迭代C#字典的主要内容,如果未能解决你的问题,请参考以下文章

从 IEnumerable<KeyValuePair<>> 重新创建字典

LINQ 更改 dict 中的 KeyValuePair

构造字典:DictionaryBase类和SortedList类

C#中的KeyValuePair类是干啥用的?

从两个可迭代对象创建字典并同时使用它们

修改字典中的结构变量