2016-07-22 94 views
-1

我想實現的是比較索引值。 arr1val1和arr2val1,然後是arr1val2和arr2val2,如此等等,前提是它們具有相同數量的索引。最後一個消息框會提示是否在任何比較索引中檢測到不匹配,而不管有多少不匹配。到目前爲止,我有這個代碼。比較鋸齒陣列中的值

Dim str()() As String = _ 
     New String()() {New String() {"arr1val1", "arr1val2"}, New String() {"arr2val1", "arr2val2"}} 

    For Each arstr As String() In str 
     For Each strElement As String In arstr 

     Next 
    Next 
+0

所以會外陣列始終包含兩個內部陣列或者是內部數組數武斷?如果它是任意的,你是說你想比較每個內部數組與其他每一個?什麼確切地定義了一個不匹配?它是兩個內部數組中相同索引的不同值嗎?如果兩個內部數組的元素數不相同,會發生什麼? – jmcilhinney

+0

外部數組總是包含兩個內部數組。兩個不同的值在同一個索引處。數組元素的數量是固定的。 –

回答

0

基於您的評論:

Dim mismatchFound = False 

For i = 0 To str(0).GetUpperBound(0) 
    If str(0)(i) <> str(1)(i) Then 
     mismatchFound = True 
     Exit For 
    End If 
Next 

簡潔的方式,即使用LINQ:

Dim mismatchFound = Enumerable.Range(0, str(0).Length). 
           Any(Function(i) str(0)(i) <> str(1)(i)) 
+0

你說外層數組總是包含兩個內層數組。如果是這樣的話,那麼你已經很好走了,因爲我沒有硬編碼內部數組中的元素數目。你現在在說,情況並非如此? – jmcilhinney

+0

對不起,我只是困惑自己。感謝您的解決方案! –