首页 > Windows开发 > 详细

C# Dictionary已知value获取对应的key

时间:2015-05-05 12:26:41      阅读:2962      评论:0      收藏:0      [点我收藏+]

1:循环遍历法,分为遍历key-value键值对和遍历所有key两种形式

2:使用Linq查询法

 1     private void GetDictKeyByValue()
 2     {
 3         Dictionary<int, string> dict = new Dictionary<int, string>();
 4         dict.Add(1, "1");
 5         dict.Add(2, "2");
 6         dict.Add(3, "2");
 7         dict.Add(4, "4");
 8 
 9         // foreach KeyValuePair
10         List<int> list = new List<int>();
11         foreach (KeyValuePair<int, string> kvp in dict)
12         {
13             if (kvp.Value.Equals("2"))
14             {
15                 list.Add(kvp.Key); // kvp.Key;
16             }
17         }
18 
19         // foreach dic.Keys
20         list.Clear();
21         foreach (int key in dict.Keys)
22         {
23             if (dict[key].Equals("2"))
24             {
25                 list.Add(key); // key
26             }
27         }
28 
29         // Linq
30         List<int> keyList = dict.Where(q => q.Value == "2")
31                         .Select(q => q.Key).ToList<int>(); //get all keys
32 
33         keyList = (from q in dict
34                     where q.Value == "2"
35                     select q.Key).ToList<int>(); //get all keys
36 
37         var firstKey = dict.FirstOrDefault(q => q.Value == "2").Key; //get first key
38     }

C# Dictionary已知value获取对应的key

原文:http://www.cnblogs.com/makesense/p/4478599.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!