hvordan man kan kontrollere , om en vare findes i en liste i Visual Basic

Indlæg af Alice Hansen     opdateret: 2012-02-24

Nogle gange er du nødt til at tjekke , om et element findes i en liste over elementer i Visual Basic under dit program . Selvfølgelig går manuelt gennem listen , er ¨¦t element ad gangen , altid muligt , men Visual Basic giver en enklere måde indbygget i List objekt . Det centrale er " Indeholder () " -metoden . " Indeholder ( ) " stadig har computeren fortsætte gennem hele listen for at finde et element , men det sparer dig for besværet med at oprette en løkke hver gang du har brug for at søge efter et objekt
1 .
Lav en liste med tal.
Dim numre som List ( Double )=Ny liste ( Double )
2 .
befolker listen med et stort antal numre til at sikre, at programmet har noget med at arbejde .
numbers. Add (1 )
numbers. Add (12 ) numbers. Add
(31 )
numbers. Add (54 )
numbers. Add (123 )
numbers. Add (154 )
numbers. Add (87 )
numbers. Add ( 985 )
numbers. Add (54 )
numbers. Add (98 )
numbers. Add (45 )
numbers. Add (32 )
3 .
Kontroller , om et givet element findes i listen.
Hvis ( numbers. Contains (1 )) Så
UserInputTextBox. Text=" 1 er til stede . "
Else
UserInputTextBox. Text=" 1 er ikke til stede . "
End If

gode råd og advarsler


  • for en liste , der er indeholdt inden for en listeboks Graphical User Interface ( GUI ) kontrol , skal du køre " ListBox1. Items. Contains ( ) "i stedet for blot " numbers. Contains (). "
  • Hvis du er sikker din liste er allerede sorteret , kan du få en fart-boost ved at bruge " tal. BinarySearch ( ) " i stedet . Snarere end gå én efter én gennem listen som " Indeholder " gør, virker BinarySearch starter i midten og udad , kun kigge i den retning , at antallet kan forventes at være. Rent teknisk set er BinarySearch en O ( log n ) operation , mens Indeholder er en langsommere O ( n ) operation . Dette er kun tilfældet, hvis listen allerede er sorteret , da der udfører den slags er en dramatisk langsommere , O ( n ^ 2 ) , drift .


  • Previous:hvordan man gør algebra i Visual Basic 6 Next:hvordan man åbner en postsættet



     

    Kommentarer

    Code:
    change