检查字典<string,List <string >>中是否已经存在值

艾森

我有一个从用户选择中填充的UI。我字典的键只是一个简单的字符串,但它可能对应于多个字符串条目(列表)。

如果用户做出不同的选择,则我应该能够浏览该词典,对于相同的字符串键,请检查用户刚刚在我的列表中做出的选择中的字符串是否已经存在,如果存在,则不添加它如果不存在,则添加到已经存在的列表中。

我从以下代码开始:

var checkedItems = listViewColumns.CheckedItems;
if (checkedItems != null)
{
    foreach (ListViewItem item in checkedItems)
    {
        if ((m_ColumnAssociations.ContainsKey(item.Text)) 
        {
            var correspondingMatrices = m_ColumnAssociations.Where(kvp =>
                kvp.Value.Contains(dgvMatrices.SelectedCells[0].Value.ToString())).
                Select(kvp => kvp.Key);
        }
    }
}

listViewColumns列表视图在哪里,其中包含进入字典键的条目,这m_ColumnAssociations是我的字典。我将其他条目添加到我的代码中,因此这部分已排序。我的问题是在这里进行的检查。

在我目前的尝试中,我现在仅尝试获取一个值(correspondingMatrices),但是此语句返回了一个IEnumerable。任何帮助,将不胜感激。

МаКЦбИМКо

如果我正确理解您的问题,则需要以下各项:

var checkedItems = listViewColumns.CheckedItems;
if (checkedItems != null)
{
    foreach (ListViewItem item in checkedItems)
    {
        List<string> itemsForAdding = // some items that needs to be added

        // check if dictionary has the key
        if (m_ColumnAssociations.ContainsKey(item.Text)) 
        {
            var listFromDictionary = m_ColumnAssociations[item.Text];

            foreach(var itemForAdding in itemsForAdding)
            {
                if(!listFromDictionary.Contains(itemForAdding)
                {
                    listFromDictionary.Add(itemForAdding);
                }
            }
        }
    }
}

或者您可以使用Distinct方法:

...
List<string> itemsForAdding = // some items that needs to be added

// check if dictionary has the key
if (m_ColumnAssociations.ContainsKey(item.Text)) 
{
    var listFromDictionary = m_ColumnAssociations[item.Text];

    // add the whole list
    listFromDictionary.AddRange(itemsForAdding);

    // remove the duplicates from the list and save it back to dictionary
    m_ColumnAssociations[item.Text] = listFromDictionary.Distinct();
}
...

希望对你有帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

VBA 检查字典是否存在

来自分类Dev

检查字典中的多重键

来自分类Dev

如何检查字典中是否存在键值对?

来自分类Dev

检查字典中是否存在密钥结构

来自分类Dev

通过for循环检查字典中是否存在单词

来自分类Dev

检查字典中是否存在键

来自分类Dev

MongoDB-检查字典列表中是否存在

来自分类Dev

检查字典中是否包含Swift中的值

来自分类Dev

检查字典是否包含列表推导中的值

来自分类Dev

检查字典的任何键中是否有值

来自分类Dev

检查字典是否包含列表推导中的值

来自分类Dev

如何检查字典是否包含字典?

来自分类Dev

如何检查字典中是否存在键值对?如果一个键的值是字典

来自分类Dev

如何检查字典值是否为空

来自分类Dev

检查字典值是否包含列表项

来自分类Dev

检查字典中是否存在列表中的单词,对于存在的单词,将其值相加

来自分类Dev

如何检查字典中的列表是否为键?

来自分类Dev

检查字典中特定键的值是什么

来自分类Dev

如何检查字典中多个列表中是否存在值,并获取相应的键?

来自分类Dev

检查字典中是否存在特定的键和值

来自分类Dev

C#检查字典中是否存在键,然后传递其值

来自分类Dev

检查字典以包含零值和空值

来自分类Dev

如何检查字典/集合是否可以迭代?

来自分类Dev

如何检查字典列表是否已排序?

来自分类Dev

检查字典的内容是否为True

来自分类Dev

如何检查字典是否包含多个元素?

来自分类Dev

如何检查字典键值是否相同?

来自分类Dev

根据属性检查字典列表是否唯一

来自分类Dev

检查字典中是否存在字典,如果存在,请进行更改

Related 相关文章

热门标签

归档