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

<- ClearList() - List Inhaltsverzeichnis - CopyList() ->