C# Dictionary已知value擷取對應的key

來源:互聯網
上載者:User

標籤:

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 KeyValuePair10         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.Keys20         list.Clear();21         foreach (int key in dict.Keys)22         {23             if (dict[key].Equals("2"))24             {25                 list.Add(key); // key26             }27         }28 29         // Linq30         List<int> keyList = dict.Where(q => q.Value == "2")31                         .Select(q => q.Key).ToList<int>(); //get all keys32 33         keyList = (from q in dict34                     where q.Value == "2"35                     select q.Key).ToList<int>(); //get all keys36 37         var firstKey = dict.FirstOrDefault(q => q.Value == "2").Key; //get first key38     }

C# Dictionary已知value擷取對應的key

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.