我希望比较2个不同的ArrayLists的值,并从1个ArrayList中删除任何重复项。
示例:
Arr1 = {HF,HA,GM,RV}
Arr2 = {FB,HA}
由于他们有'HA'共同点,我想从Arr1中删除'HA'。任何有关正确方向的帮助或观点都将受到赞赏。
答案 0 :(得分:0)
您可以使用LINQ的Except,但您必须先将数组列表转换为常规数组:
https://msdn.microsoft.com/en-us/library/bb300779(v=vs.110).aspx
Dim list1 As New ArrayList()
list1.Add("A")
list1.Add("B")
list1.Add("C")
Dim list2 As New ArrayList()
list2.Add("A")
list2.Add("B")
Dim array1 = list1.ToArray()
Dim array2 = list2.ToArray()
Dim except = array1.Except(array2).ToArray()
此外,如果您需要自定义比较,请改为使用此重载:
https://msdn.microsoft.com/en-us/library/bb336390(v=vs.110).aspx
修改强>
ArrayList
可用的LINQ方法很少,但您可以很容易地将其转换回来:
Dim arrayList as New ArrayList(except)