我正在努力解决以下问题: 我有一个由webAPI填充的词典。
Dictionary<string, int> recipients = new Dictionary<string, int>();
我有一个选择器
pickerRecipients = new Picker
{
};
foreach (string recipientName in recipients.Keys)
{
pickerRecipients.Items.Add(recipientName);
}
我想要的是按下按钮,将所选值放入第二个词典
Dictionary<string, int> multiRecipients = new Dictionary<string, int>();
要添加它我用过
multiRecipients.Add(KEY, VALUE);
但据我所知,我只能访问价值,而不是关键。我不知道该怎么做。我认为主要问题是我从选择器中选择它,而不是直接从字典中选择它。
非常感谢能够启发我的人(:
P.S。我用Xamarin
编辑: 这就是我现在所拥有的,但我也将int更改为字符串,将字符串更改为int。
if (pickerRecipients.SelectedIndex != -1)
{
string currentlySelected = pickerRecipients.Items[pickerRecipients.SelectedIndex];
var SelectedValue = recipients[currentlySelected];
multiRecipients.Add(currentlySelected, SelectedValue);
}
答案 0 :(得分:1)
因为您已经知道item的键,所以只需使用[key]语法来检索值:
var SelectedValue = recipients[SelectedKey];
multiRecipients.Add(SelectedKey, SelectedValue);
答案 1 :(得分:1)
你可以使用linq使用字典中的值来获取密钥,它就像是:
var key= recipients.FirstOrDefault(x => x.Value == selectedValue).Key;
multiRecipients.Add(key,selectedValue);