Wpf 如果组合框中存在名称,请不要添加

Wpf 如果组合框中存在名称,请不要添加,wpf,Wpf,当从sql表向WPF中的组合框添加名称时,我想检查组合框中是否已经存在该名称。如果没有添加。我尝试的代码无效: public void display() { try { sc.Open(); string Query = "select *from Part"; SqlCommand createCommand = new SqlC

当从sql表向WPF中的组合框添加名称时,我想检查组合框中是否已经存在该名称。如果没有添加。我尝试的代码无效:

        public void display()
    {      
       try
        {             
            sc.Open();
            string Query = "select *from Part";
            SqlCommand createCommand = new SqlCommand(Query, sc);
            SqlDataReader dr = createCommand.ExecuteReader();
            while (dr.Read())
            {
                String Name = dr.GetString(1);



                if (cbPartners.Items.Contains(Name) != null)
                {
                    cbPartners.Items.Add(Name);
                }

                else
                {
                   MessageBox.Show("message");
                }
                }

            sc.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

cbPartners.Items.Contains(Name)
返回true或false,将其与null进行比较总是会得到相同的结果。将您的条件更改为:

if (!cbPartners.Items.Contains(Name))
问题是:

if (cbPartners.Items.Contains(Name) != null)
方法Contains返回Bool值,并将其与null进行比较,null始终为true

将其更改为:

if (!cbPartners.Items.Contains(Name))

问题是你应该写:

if (!cbPartners.Items.Contains(Name))

我想我是第一个;)

如果(!cbPartners.Items.Contains(Name))@SoMoS,请将您的评论添加到回答中,以便将此问题标记为已回答。