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