检查组合框中是否显示值

时间:2013-07-15 15:48:42

标签: c# arrays combobox duplicates

我想在将该项目添加到组合框之前检查我的阵列中的项目是否出现在我的组合框中,避免重复

我不允许使用LINQ

代码:

private void ToonCategorien()
    {
        cboCategorie.Items.Clear();
        foreach (String sCategorie in marrCategorie){
            if (!cboCategorie.Items.Contains(sCategorie))
            {
                ComboBoxItem cboItem = new ComboBoxItem();
                cboItem.Content = sCategorie;
                cboCategorie.Items.Add(cboItem);
            }
        }
    }

很抱歉在我的C#代码中使用荷兰语。

所以marrCategorie是一个包含我从StreamReader读取的所有类别的数组。 问题是他无论如何都要添加一切。我认为这是我的if循环中的一个问题。

我还尝试了 if(cboCategorie.Text.Contains(sCategorie))而没有结果。

我暂时不能直接发布图片,很抱歉使用超链接):

Result

提前致谢!

解决方案,感谢Bolu:

    private void ToonCategorien()
    {
        cboCategorie.Items.Clear();
        foreach (String sCategorie in marrCategorie){
            if (!cboCategorie.Items.Contains(sCategorie))
            {
                cboCategorie.Items.Add(sCategorie);
            }
        }
    }

1 个答案:

答案 0 :(得分:2)

你在这里比较stringComboBoxItem,我想你可以使用字符串:例如:

private void ToonCategorien()
    {
        cboCategorie.Items.Clear();
        foreach (String sCategorie in marrCategorie){
            if (!cboCategorie.Items.Contains(sCategorie))
            {                
                cboCategorie.Items.Add(sCategorie);
            }
        }
    }