? I Visual Basic, er en matrise en indeksert sett med data . Matriser brukes til å gruppere og indeksere en serie av verdier . De enkelte verdiene holdes i matrise kalles elementene i matrisen . Et element er en del av data , et navn for eksempel, en datamaskin har ingen oppfatning av ordet " navn ", så koden forfatteren forklarer til datamaskinen som det vil være en liste eller tabell med informasjon referert til som " navn ". Når plass til navnene har blitt opprettet , kan programmereren da fortelle datamaskinen at Lucy , Fred , Ben , George og Alison er alle navn , og navnene er indeksert , eller senket skrift, så det navnet en er Lucy , er navnet to Fred og så videre. Funksjon
programmerere bruke arrays å referere til flere verdier av samme klasse av data ( i vårt eksempel blir navnene ) , ved hjelp av et tall kalt en indeks , eller senket , for å skille dem fra hverandre . Matriser er brukt til å forkorte og forenkle Visual Basic-kode , slik at en programmerer for å danne sløyfer som omhandler effektivt med et stort antall elementer , så lenge elementene er alle av samme datatype. En programmerer kunne erklære hvert element separat som en individuell variabel, men dette ville lage programmer uhåndterlig å skrive og kjøre.
Typer
Arrays i Visual Basic kan være av fast størrelse eller dynamisk. Et fast størrelse matrise har samme antall elementer gjennom hele gjennomføringen av programmet , mens dynamiske matriser kan utvide mens programmet kjører og innlemme data som er importert eller legges inn i løpet av programmets utførelse. Matriser kan også være lineær eller flerdimensjonale . Lineære arrays inneholder en enkel liste over variabler , som for eksempel de første navnene i vårt eksempel . En flerdimensjonal array bruker mer enn ett sett av indekser eller senket , to- dimensjonale arrays kan betraktes som en tabell med kolonner og rader . Det er også hakkete arrays , som kan inneholde varierende mengder av undergrupper av elementer ; . Disse fungerer som arrays innenfor en rekke
Array Erklæring uttalelser
Arrays er inngått programmer på samme måte som variabler - de skal oppgis, og stedet og på hvilken måte de er deklarert bestemmer deres omfang, eller hvor i programmet de kan brukes . Fire typer informasjon som skal inkluderes i erklæringen setningen : matrisen navn ; datatypen , antall dimensjoner, og antallet av elementer. Dette typisk er innledes med " Dim " for å erklære tabellen.
Eksempel på en fast størrelse Array
En fast størrelse array som inneholder navnene Lucy , Fred , Ben , George og Alison kunne bli erklært som Dim strNames ( 4 ) som streng .
Matrisen heter " strNames ", og har plass til fem navn . (Når Visual Basic teller indeksen , den starter fra 0 , så antallet coder bruker er antall elementer minus 1 ) . Bare ett tall er gitt i parenteser etter navnet matrise , slik at det er en en-dimensjonal , eller lineær, matrisen. Navnene blir deretter indeksert ( gitt subscripts ) 0-4 : .
StrNames ( 0 ) = " Lucy " strNames ( 1 ) = " Fred " strNames ( 2 ) = " Ben" og så videre
å erklære en matrise som inneholder elementer i form av en tabell , er et annet nummer gitt i parentes, og adskilt med komma : Dim strNames ( 4,1 ) som streng . Denne koden erklærer en rekke strengvariabler kalt " strNames ", som kunne holde den første og andre navn på fem personer.
Eksempel på en dynamisk Array
Forlater . parentes tomme skaper en dynamisk matrise: Dim strNames ( ) As String
Fordi parentes er tom, går den ikke gi noen minneplass for elementene , elementer kan legges til denne matrisen bare etter at det har blitt " redimensioned ", som er prosessen med å fortelle datamaskinen hvor mye plass vil være nødvendig. Koden til å endre dimensjonen på " strNames " array til å ha plass til fem navn ville lese : . ReDim strNames ( 4 )
Når matrisen inneholder data , vil " ReDim " statement overskrive alle data holdt , så programmerer må bruke " Preserve " søkeord . For å legge til en femte navn til navnet vårt utvalg , holde de foregående fire navnene intakt , ville koden lese : en
ReDim Bevar strNames ( 5 ) strNames ( 5 ) = " Boris "
Begrensninger
Arrays må inneholde data av samme type , men ellers er de veldig fleksible . Datatabellindekser kan ikke overskride grensene for en lang datatype , men gitt at den lange datatype varierer i verdi fra -9.223.372.036.854.775.808 gjennom 9.223.372.036.854.775.807 , det er ganske mye plass å fylle. Arrays også er begrensede 32 dimensjoner , selv om det er uvanlig for programmerere å bruke mer enn tre.