C#中对listbox中元素的判别,避免出现相同的元素

//此代码是关于取文件时将全路径中的文件名放在listbox中,为了避免重复拿取
代码:if(!listbox.Items.Contains(Path.GetFileName(filePath[i]))))
{
//写出关于不相同时需要的操作
}


电脑顺着代码走,代码顺着思路走

          不同的思路,写出代码的逻辑顺序也会不同,可能执行结果相同,但过程显示不一定相同。下面用一个对比性的例子来说明。

   在Listbox中对项目是否重复,进行判定并添加。

   方法有二:

(一)先添加,后判定;相符则保留,不符则移除。

 If Listbox1.ListIndex <> -1 Then '表明当前已选择项目

    Listbox2.AddItem Listbox1.List(Listbox1.ListIndex)      ‘添加选择项
End If

For i = 0 To Listbox1.ListCount – 1 
    For j = i + 1 To Listbox2.ListCount
        If Listbox1.List(i) = Listbox1.List(j) Then           ‘假设存在重复项
            MsgBox "该课程已选", vbOKOnly + vbExclamation, "温馨提示"
            Listbox1.RemoveItem j                    ‘移除重复项
            Exit Sub
        End If
    Next j

  Next i

显示情况:选择添加的项如果不重复,则添加(没什么不同)。但如果与Listbox2中的项重复,会看到——所选中添加项闪烁退出。。

(二)将选定的项与列表项先比较,重复就放弃添加,反之则添加。

   If ListBox1.ListIndex <> -1 Then '表面当前没有选择项目
   For i = 0 To Listbox2.ListCount - 1
   If Listbox1.Text = Listbox2.List(i) Then ‘假设与已有列表项重复
   MsgBox "该课程已选", vbOKOnly + vbExclamation, "温馨提示"
   Exit Sub ‘直接退出,放弃添加
   End If
   Next i
   Listbox2.AddItem Listbox1.List(Listbox1.ListIndex) ‘添加符合项
   End If
显示情况:选择添加的项不重复,直接添加。如果重复,在Listbox2中将不会看到任何的痕迹呈现。
————————————————
版权声明:本文为CSDN博主「菲力蒲LY」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wangqingbo0829/java/article/details/11179965

Last modification:May 10, 2020
如果觉得我的文章对你有用,请随意赞赏