2016-07-22 2 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

Извините, что я просто смутил себя. Спасибо за решение! –

Смежные вопросы