将选择器选择字典值放在另一个选择器中

时间:2016-12-18 18:44:41

标签: c# dictionary xamarin

我正在努力解决以下问题: 我有一个由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);
        }

2 个答案:

答案 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);