CompareList()
Syntax
Ergebnis = CompareList(Liste1(), Liste2() [, Flags])Beschreibung
Vergleicht alle Elemente der beiden Listen auf Gleichheit. Vergleicht rekursiv auch Inhalte strukturierter Listen mit dynamischen Elementen (wie eingebetteter Arrays, Listen oder Maps).
Die beiden Listen gelten als gleich, wenn sie den gleichen Typ und die gleiche Größe haben und wenn jedes Elemente-Paar gleich ist.
Parameter
Liste1(), Liste2() Die zu vergleichenden Listen. Flags (optional) Kann eine Kombination der folgenden Werte sein: #PB_String_CaseSensitive : Beim String-Vergleich wird die Groß-/Kleinschreibung beachtet (a=a). (Standard) #PB_String_NoCase : Beim String-Vergleich wird die Groß-/Kleinschreibung nicht beachtet (a=A). #PB_Memory_FollowPointers: Wenn ein Strukturelement ein Zeiger (Pointer) ist, der nicht 0 ist, wird das Ziel des Zeigers rekursiv verglichen. Standardmäßig wird nur der Zeigerwert selbst verglichen. Siehe die Anmerkungen unten für weitere Details.
Rückgabewert
Gibt einen Wert ungleich Null zurück, wenn beide Listen gleich sind, oder Null, wenn sie sich unterscheiden.
Anmerkungen
Die Option #PB_Memory_FollowPointers ist für fortgeschrittene Benutzer gedacht und erfordert besondere Sorgfalt, um Abstürze zu vermeiden. Wenn diese Option verwendet wird, müssen alle Zeigerwerte auf einen gültigen und initialisierten Speicher zeigen oder den Wert 0 haben. Es ist auch nicht erlaubt, Schleifen in den pointierten Elementen (englisch "pointed elements" - eine Kette von Zeigern, die auf sich selbst verweist) zu haben.
Beispiel
NewList A$() AddElement(A$()) : A$() = "Jim" AddElement(A$()) : A$() = "John" AddElement(A$()) : A$() = "Jack" NewList B$() AddElement(B$()) : B$() = "JIM" ; Groß-/Kleinschreibung unterscheidet sich AddElement(B$()) : B$() = "John" AddElement(B$()) : B$() = "Jack" Debug CompareList(A$(), B$()) ; Nicht gleich Debug CompareList(A$(), B$(), #PB_String_NoCase) ; Gleich
Siehe auch
CompareArray(), CompareMap()
Unterstützte OS
Alle