How does C # SortedList get key by value?

There is a SortedList

 slLanguage = new SortedList(); slLanguage.Add("Bahasa","id-ID"); slLanguage.Add("Chinese Simplified(中文简体)","zh-CN"); slLanguage.Add("Chinese Traditional(中文繁體)","zh-TW"); slLanguage.Add("Kazakh","kk-KZ"); slLanguage.Add("Russian()","ru-RU"); slLanguage.Add("Vietnamese(Việt)","vi-VN"); slLanguage.Add("English", "en-US"); 

How can I get the key by value?

For example: Get the key of the element "zh-CN"

+4
source share
3 answers

If you want to get the key to the value, you can use SortedList.IndexOfValue(object value) to get the index of the value you specified. Then use SortedList.GetKey(int index) to return the key as an object from the value just collected.

Example

 SortedList slLanguage = new SortedList(); //Initializes a new SortedList of name slLanguage //Add the keys and their values to the list slLanguage.Add("Bahasa", "id-ID"); slLanguage.Add("Chinese Simplified(中文简体)", "zh-CN"); slLanguage.Add("Chinese Traditional(中文繁體)", "zh-TW"); slLanguage.Add("Kazakh", "kk-KZ"); slLanguage.Add("Russian()", "ru-RU"); slLanguage.Add("Vietnamese(Việt)", "vi-VN"); slLanguage.Add("English", "en-US"); // object returnedKey = slLanguage.GetKey(slLanguage.IndexOfValue("zh-CN")); //Gets the key from zh-CN as returnedKey of type object 

Thanks,
Hope you find this helpful :)

+11
source

Probably the best way to do this, but here is one way to do this:

 int index = slLanguage.IndexOfValue("zh-CN"); var item = slLanguage.GetKey(index); 
+1
source

Finding a key from a value will be inefficient and defeat the purpose of a sorted list. A sorted list is a really sorted dictionary named dimly as a SortedList.

0
source

All Articles