Innholdsfortegnelse:
Video: How did Hitler rise to power? - Alex Gendler and Anthony Hazard 2025
VB. NET-programmer er delt inn i soner, akkurat som USA er delt inn i stater, fylker og byer. Akkurat som advokatagenter har forskjellige størrelser av jurisdiksjoner (byens politiet, statsborgerne og FBI, som kan gå hvor som helst), VB. NET programmeringslinjer har områder med innflytelse. Dette innflytelsesområdet, kalt scope, , gjelder for det meste variabler (men kan også gjelde for prosedyrer - under og funksjoner - samt hele klasser).
Å få tilgang til en variabel
Ofte vil du spørre eller endre verdien i en variabel, men om variabelen er tilgjengelig for deg, avhenger av omfanget. For eksempel kan du alltid få tilgang til en variabel fra samme prosedyre (funksjoner, underrutiner og hendelser er alle prosedyrer).
For å se hvordan dette virker, skriv inn følgende i kodemodulen:
Privat Sub Form1_Load (ByVal-avsender Som System. Object, ByVal e As System. EventArgs) Håndterer MyBase. Last
Dim N Som String = "Denne"
MsgBox (N)
Slutt Sub
Trykk på F5 og legg merke til at MsgBox ikke har noe problem som viser verdien av variabelen N.
Den viser Dette. Skriv nå en annen del bare under Form1_Load-delen i kodevinduet:
Offentlig delprøve ()
MsgBox (N)
End Sub
Legg merke til at det er en sawtooth linje under variabelen N i Prøv det. Hold musepekeren på toppen av sawtooth line og VB. NET viser en feilmelding som forteller deg at navn 'N' ikke er deklarert.
Denne feilmeldingen betyr at alle linjer med kode i TryIt-suben (mellom Public Sub og End Sub) ikke kan lese (tilgang) eller skrive (endre) variabelen N. N ble erklært (med Dim-kommandoen) i en egen prosedyre, og så er omfanget av N (tilgjengelighetsområdet) begrenset til linjer med kode i samme prosedyre.
Selv om Dim er den mest brukte, kan du bruke sju ekstra deklarasjonskommandoer: Statisk, Offentlig, Beskyttet, Venn, Delt, Beskyttet Venn og Privat. Disse tilleggskommandoene angir omfang (fra hvilke steder i programmet kan en variabel nås).
Merk at når du erklærer en variabel i en prosedyre, fungerer variabelen bare innenfor den prosedyren. Når programmet utfører prosedyren (eller hendelsen), kommer variabelen til liv, gjør dens ting, og dør (forsvinner) så snart sluttlinjen blir utført.
Når variabler er lokale
Variabler som bare lever i en enkelt prosedyre, kalles lokale variabler. Lokale variabler har to egenskaper som du trenger å huske:
- Ingen programmering utenfor egen prosedyre kan samhandle med dem, enten for å lese verdien eller for å endre verdien. Deres omfang er begrenset til egen prosedyre.
- Når VB slutter å utføre prosedyren der de bor, fordampes verdien av dem. Hvis denne prosedyren utføres en annen gang, er det ikke lenger den verdien som den lokale variabelen en gang inneholdt. En utførelse av prosedyren er deres levetid. Det er noen situasjoner der du vil ha en lokal variables verdi som skal bevare. I disse tilfellene bruker du den statiske kommandoen i stedet for kommandoen Dim:
Privat Sub Form1_Load (ByVal sender som System. Object, ByVal e As System. EventArgs) Håndterer MyBase. Last
Dim n Som helhet
Statisk x Som helhet
Sluttdel
I dette eksemplet mister variabelen n verdien når sluttdelingen utføres. Imidlertid beholder variabelen x verdien til programmet slås av. En annen måte å sette på er dette: Når du bruker den statiske kommandoen med en lokal variabel, blir verdien av den variabelen bevart for levetiden til søknaden din. (Livstiden betyr hvor lenge noe eksisterer i et program.)
Hva synes du ville skje hvis du satte to kommandoknapper på skjemaet ditt, og deretter kjørte du programmet og klikket Command1 først, og deretter klikket du Command2, i dette neste programmet?
Privat Sub Button1_Click (ByVal-avsender Som System. Object, ByVal e Som System. EventArgs) Håndterer Button1. Klikk
Dim X som helhet
X = X + 5
Slutt under
Privat sub-knapp2_Click (ByVal-avsender Som system. Objekt, ByVal e Som system. EventArgs) Håndterer Button2. Klikk
Dim X som helhet
MsgBox (X)
Slutt under
Meldingsboksen viser ingenting. Variabelen X i Command1s klikkhendelse er en helt annen variabel fra X i Command2s klikkhendelse. De er lokale og har ikke noe forhold til hverandre, ikke mer enn to fremmede ved navn Mike som tilfeldigvis bor i Bronx og aldri møtes.
Men hva om du vil at begge disse prosedyrene skal kunne få tilgang til og manipulere den samme variabelen? For å gjøre dette, definerer du variabelen utenfor prosedyrene dine. Prøv det. Klikk rett over din første prosedyre (rett over linjen Private Sub Form1_Load) i kodevinduet for å flytte innsatsmarkøren der.
Skriv nå følgende:
Dim x As Integer
Det er her du vil legge inn noen variabler som du vil gi et bredt spekter av, for eksempel å tillate alle prosedyrene i dette skjemaet (Form1, i dette tilfellet) for å kunne lese og endre variabelen. (Området hvor du legger til formelle variabler ble tidligere kalt General Declarations-området, før VB. NET.)
Nå, med den X-variablen Dimmet oppe over (utenfor) alle delene og andre prosedyrer, når du kjører det samme programmet, klikker på Command1, og deretter klikker du på Command2, du ser resultatet du vil se: tallet 17. Når du erklærer X for å være bredt, kan de to knappene få tilgang til variabelen X.Slett de to Dim-setningene som tidligere erklærte X innenfor de to knapphendelsene. Nå er X = X + 5 og MsgBox (X) begge referert til samme variabel som heter X.
Når en variabel har et bredt spekter, er det så tilgjengelig for alle prosedyrene i det skjemaet. Det er imidlertid ikke tilgjengelig for prosedyrene i andre former i prosjektet.
