我正在比较两个相邻列表视图中的项目,并标记相关的项目(在我的列之一上,即产品 ID)。
我的问题是完成此过程所需的时间(几分钟)。我目前使用“finditemwithtext”和重载在子项中包含搜索(我的产品 ID 列在子项(1)上...
我在列表视图 1 中有 12K 项,在列表视图 2 中有 6k 项。
目前我正在“逐步”浏览列表视图 1,并在列表视图 2 中搜索类似项目。
反过来做,逐步通过 2,在 1 中搜索,可能会有相同的性能问题,因为它只逐步通过 6k 个项目,但搜索 12k,与逐步通过 12k,搜索 6k...
也许有更有效的方法来获得最终结果?
当然,要比较的东西太多了... 6000 x 6 列(36000 比较).. 根据我的微薄计算...
谢谢,希望能提供一些意见...
代码:
Dim tmpListviewItem As New ListViewItem
Dim c As Int32 = 0
For Each i As ListViewItem In list1.Items
If i.SubItems(5).Text = "" Then 'not yet linked item
tmpListviewItem = list2.FindItemWithText(i.SubItems(1).Text, True, 0, False)
If tmpListviewItem Is Nothing Then 'nothing found...
Else 'found corresponding item
c += 1
i.SubItems(5).Text = tmpListviewItem.SubItems(1).Text
tmpListviewItem.SubItems(5).Text = i.SubItems(1).Text
i.ForeColor = Color.Green
tmpListviewItem.ForeColor = Color.Green
End If
End If
Next