跳过将重复项从一个列表框添加到另一个列表框

时间:2013-04-09 14:59:46

标签: vb.net listbox listboxitems

我有以下代码:

  'get the items from listbox4
       For Each aa As String In ListBox4.Items
        'convert string to uri and grap the hostname for each item in listbox4
        Dim myuri As New Uri(aa)
        Dim baseUri As String = myuri.GetLeftPart(UriPartial.Authority)
        ' check if the hostname exist on items of listbox2 and skip the duplicate
            If ListBox2.Items.Contains(baseUri) Then
                Return
            Else
                ListBox2.Items.Add(aa)
            End If
        Next

如何根据第一个ListBox中的数据使第二个ListBox包含不同的值?

2 个答案:

答案 0 :(得分:0)

这是一个Linq基本方法(视为伪代码,我没有时间在工作解决方案上测试它):

ListBox2.Items.AddRange( _
    ListBox4.Items.Select( _
        Function(x) new Uri(x).GetLeftPart(UriPartial.Authority)).Distinct() _
) ' End AddRange

基本上,它添加了从ListBox4中选择的一系列项目,其中使用每个元素选择新的Uri,然后使用您的方法修改Uri,然后选择修改后的uri的不同字符串表示。

答案 1 :(得分:0)

在开始循环之前清除listbox2。在循环内部,将“Return”更改为“Continue”