title image


Smiley Re: vb.net Vergleich 2er arrays
>als vereinfachung:

>array1 = (1, 10, 99)

>array2 = (1, 2, 3, ... ,99) (alle zahlen 1 bis 99)

>sortiert seien die arrays.

Bei diesem Szenario muss man ja nur zwei Vergleiche anstellen:



' Nicht getestet

Dim gleich as Boolean

If array2(LBound(array2))>=array1(LBound(array1)) And array2(UBound(array2))>=array1(LBound(array1)) then

gleich=True

End If



aber ich denke nicht das Du das meinst.

Es werden sicher "Lücken" in array2 sein also so etwa:



Array(1, 4, 5, 80, 81, 82, 83, 84, 85, 91)



Das Einfachste wäre:



'array1 = Array(4, 5, 84, 91, 99) ' Wahr

array1 = Array(4, 5, 84, 91) ' Falsch

array2 = Array(1, 4, 5, 80, 81, 82, 83, 84, 85, 91)

Dim elem, gesucht, found As Boolean

'Geht auch mit "For Each" obwohl es sich nicht um Collections handelt

For Each gesucht In array1

found = False

For Each elem In array2

If elem = gesucht Then

found = True

Exit For

End If

Next

Next

msgbox "Enthalten: " & found



Ist aber nur suboptimal.

Weiteres folgt...






Gruss Uwe
Wenn weise Maenner nicht irrten, müssten die Narren verzweifeln. (Goethe)



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: