0
我期待比较2个不同ArrayLists的值,并从1 ArrayList中删除任何重复项。比较2 ArrayLists并删除重复项
实施例:
ARR1 = {HF,HA,GM,RV}
ARR2 = {FB,HA}
,因为它们具有 'HA' 中常见的,我想删除来自Arr1的'HA'。任何帮助或点在正确的方向将不胜感激。
我期待比较2个不同ArrayLists的值,并从1 ArrayList中删除任何重复项。比较2 ArrayLists并删除重复项
实施例:
ARR1 = {HF,HA,GM,RV}
ARR2 = {FB,HA}
,因为它们具有 'HA' 中常见的,我想删除来自Arr1的'HA'。任何帮助或点在正确的方向将不胜感激。
您可以使用LINQ的除外,但你将不得不数组列表先转换成普通数组:
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
编辑
有极少数的LINQ方法可供ArrayList
,但是你可以将其转换回很容易:
Dim arrayList as New ArrayList(except)
有没有办法做的ArrayList?转换为数组意味着我想避免的其他更多变化。或者将数组转换回ArrayList是否有诀窍? – madmike
看看我的编辑。 – Aybe