以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何判断两个集合中元素是否相等,不相等输出那个不相等的值  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=74169)

--  作者:XuanYuan
--  发布时间:2015/9/5 10:19:00
--  如何判断两个集合中元素是否相等,不相等输出那个不相等的值
如何判断两个集合中元素是否相等,不相等输出那个不相等的值
--  作者:bahamute
--  发布时间:2015/9/5 10:37:00
--  
1. 比较一下两个集合元素个数是否相等
2. 如果个数相等,遍历其中一个集合,用Contains判断在另一个集合中是否存在相同元素。

--  作者:XuanYuan
--  发布时间:2015/9/5 11:09:00
--  

那我怎么才能输出那个不相同的元素?


--  作者:Hyphen
--  发布时间:2015/9/5 11:32:00
--  
Dim v1() As String = {"中国","美国","英国","俄罗斯"}
Dim s1 As New List(of String)
Dim s2 As New List(of String)
s1.AddRange(v1)
s2.AddRange(s1)
s2(2) = "法国"


Dim cou As Integer = s1.Count - 1

If s1.Count <> s2.Count Then
    If s1.Count > s2.Count Then
        cou = s2.Count - 1
        msgbox("s1比s2多" & s1.Count - s2.Count & "个元素")
    Else
        msgbox("s2比s1多" & s2.Count - s1.Count & "个元素")
        
    End If
End If

For i As Integer = 0 To cou
    If s2(i) <>  s1(i) Then
        msgbox("第" & i+1 & "个元素值不同:" & vbcrlf & "s1:" & s1(i) & "s2:" & s2(i))
    End If
Next