首页新闻找找看学习计划

怎么从List<Dictionary<>>取Dictionary<>的key键值

0
悬赏园豆:10 [已解决问题] 解决于 2015-12-17 18:46

我有一个字典列表List<Dictionary<string,object>>,现在我想对这个列表字典里的key进行循环遍历,与另一表某列值进行对比匹配。代码如下:

foreach (Dictionary<string, object> dic in list)
{
    foreach (DataRow row in dt.Rows)
    { 
        if(dic.key.Equals(row["x"].ToString())
        {
            
        }
    }
}

现在dic.key这里我应该如何去取呢,还是说我这里有问题,必须在用个KeyValuePair<string,object>?

学无涯鲸拍浪的主页 学无涯鲸拍浪 | 初学一级 | 园豆:48
提问于:2015-12-17 15:00
< >
分享
最佳答案
0
你这里key已经不需要取啦,row["x"].ToString()就可以是你的key。


如果是要用key取value的话:
Dictionary取值:
foreach (var kv in dic) { // key:kv.Key // value: kv.Value }

or:

object value ;
dic.TryGetValue(row["x"].ToString(), out value);

 or

dic[row["x"].ToString()]

 

收获园豆:10
米修君 | 小虾三级 |园豆:553 | 2015-12-17 15:33

字典的key值不一定都与row["x"]的值一样的

不过我已经搞定了

字典里的数据类似这样:

key:xx:xx,value:x
key:xx:xx,value:y
key:xx:xx,value:z

 

object value;
dic.TryGetValue("key", out value);

像上面那样去取就可以了,和你的有一个类似。。还有一种方式是用dic.ElementAt(index).Key的方式

学无涯鲸拍浪 | 园豆:48 (初学一级) | 2015-12-17 18:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册