防止将重复项添加到列表框中

时间:2013-03-04 05:29:15

标签: c# asp.net if-statement listbox

我正在尝试弄清楚如何添加if / else语句,这样当我按下按钮时,它不会向我的listBox

添加重复项

已经有一个if语句,但它不起作用。

以下是该按钮的代码。

private void btnSort_Click(object sender, RoutedEventArgs e)
{
    if (lstbxResults.Items.Contains(lstbxResults.Items))
    {
        foreach (var Sort in lstbxResults.Items)
            Sorting.Add(LSort);

        Sorting.Sort();
        lstbxResults.Items.Clear();

        foreach (var GSort in Sorting)
            lstbxResults.Items.Add(lSort);
    }
}

3 个答案:

答案 0 :(得分:3)

您在else

之前缺少结束括号

这可能导致错误消息“错误1无效表达式术语'其他'”

以下是它应该是什么样子

private void btnSort_Click(object sender, RoutedEventArgs e)    
{  
    if (!this.lstbxResults.Items.Contains(this.lstbxResults.Items))   
    {  
        foreach (var fSort in lstbxResults.Items)  
        {  
            Sorting.Add(fSort);  
        }  

        Sorting.Sort();

        lstbxResults.Items.Clear();

        foreach (var fSort in Sorting)
        {
            lstbxResults.Items.Add(fSort);
        }
    } // ADD THIS <-----------------------
    else 
    {
       return; // you actually don't need this else statement. Just let the function terminate. 
    }
 // And don't forget to close out your function with another close bracket below

下一步

  • 请参阅this answer以更有效的方式对ASP.NET中的ListBox中的项目进行排序:

答案 1 :(得分:0)

如果是你的代码 - 而不是在else之前缺少结束括号。

在VS中,当光标位于大括号上时,您可以使用Ctrl+[轻松查看大括号的位置。

答案 2 :(得分:0)

我认为根据您的代码,您尝试对listBox中的数据进行排序并删除重复项。 enter image description here

  private void btnSort_Click(object sender, RoutedEventArgs e)    
    {   
     ArrayList Sorting = new ArrayList();
                if (!this.lstbxResults.Items.Contains(this.lstbxResults.Items))
                {
                    foreach (var fSort in lstbxResults.Items)
                    {
                        Sorting.Add(fSort);
                    }

                    Sorting.Sort();

                    lstbxResults.Items.Clear();

                    foreach (var fSort in Sorting)
                    {
                        if (!this.lstbxResults.Items.Contains(fSort))
                        {
                            lstbxResults.Items.Add(fSort);
                        }

                    }
                }
    }