Невозможно сделать ключ-значение в списке в C#

Я пишу приложение на C#, используя winforms. У меня есть список. Я получаю свои данные из файла XML, имени пользователя и их идентификаторов. Я хочу, чтобы имена отображались в списке, и когда я выбираю одно из них, я хочу получить его / ее идентификатор, используя свойство selectedValue. Однако я не могу этого сделать. Я попытался keyValuePair, который показывает "[username, id]" в списке, который не является хорошим (см. Код ниже). Как я могу имитировать выбор HTML в C# вкратце? Я хочу, чтобы имена отображались в списке, но хочу получить идентификаторы в бэкэнде. Спасибо...

LB_UserList.Items.Add(new KeyValuePair<string, string>(full_name, node["user_id"].InnerText));

1 ответ

Решение

Используйте словарь C# для этого,

Dictionary<string, string> list = new Dictionary<string, string>();
list.Add("item 1", "Item 1");
list.Add("item 2", "Item 2");
list.Add("item 3", "Item 3");
list.Add("item 4", "Item 4");

dropdown.DataSource = list;
dropdown.DataTextField = "Value";
dropdown.DataValueField = "Key";
dropdown.DataBind();

РЕДАКТИРОВАТЬ:

listBox.DataSource = new BindingSource(list, null); 
listBox.DisplayMember = "Key"; 
listBox.ValueMember = "Value";
Другие вопросы по тегам