Невозможно сделать ключ-значение в списке в 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";