如何使用ContainsKey方法检查Dictionary中的Int数组(Key)?

时间:2017-04-19 05:36:13

标签: c# winforms dictionary

我有一个Dictionary集合,整数​​数组为Key,Image为Value。在添加new int[]之前,我需要检查是否已存在相同的密钥。

我尝试了下面的代码,但Dictionary.ContainsKey(int[])方法总是会失败,即使相同的key已经存在。

Dictionary<int[], Image> temp = new Dictionary<int[], Image>();
int[] rowcol = new int[]{rowIndex,colIndex};
if (!temp.ContainsKey(rowcol))
{
    animatedImage = style.BackgroundImage;
    temp.Add(rowcol, animatedImage);
}

请建议我如何检查int[]中的key Dictionary

由于

1 个答案:

答案 0 :(得分:2)

请尝试以下代码:

private void sample()
{
    int rowIndex = 0;
    int colIndex = 0;
    Dictionary<int[], Image> temp = new Dictionary<int[], Image>();
    int[] rowcol = new int[] { rowIndex, colIndex };


    if (!(temp.Where(k => k.Key == rowcol).Count() > 0))
    {
        animatedImage = style.BackgroundImage;
        temp.Add(rowcol, animatedImage);
    }
}