Gå til innhold

[Løst]Skrive ut det siste element (vb.net)


Anbefalte innlegg

Videoannonse
Annonse

Når jeg bruker matriser, Dim'er jeg alltid en "Antall_matrise". Hver gang du legger til noe i matriser, øker du også "Antall_matrise" med 1+. Etterpå blir det lett å skrive ut alt. Bare lag en for-løkke. 1 to antall_matrise

Public Matrise(1 To 9999) As String
Public Antall_Matrise As Long

edit: Jeg tror det finnes en annen måte, men den husker jeg ikke.

Endret av Jonas
Lenke til kommentar

VB.NET støtter ikke lenger andre tall enn 1 i lower bound. VB-teamet konkluderte vistnok med at dette var svært ulogisk, og stridet i mot de fleste programmeringsspråkene. Det var mer hensiktsmessig å ha et universalt grunntall som alle matrisene begynte med.

 

Dessuten kan man også bruke UBound eller [Matrise-navn her].GetLenght til å finne størrelsen på en matrise. Man kan derfor skrive koden som følgende:

 

' Allokerer en matrise
Dim aArray(10) As String

' Endrer størrelsen til 20
ReDim Preserve aArray(20)

' Legg til tekst i det nåværende siste elementet
aArray(20) = "Dette er en test"

' Skriver ut dynamisk det siste elementet til en meldningsboks
MsgBox(aArray(aArray.GetUpperBound(0)))

 

Jeg tror ikke du trenger å lage en ny funskjon for å prestere dette.

Lenke til kommentar
VB.NET støtter ikke lenger andre tall enn 1 i lower bound.

Hmm... hva mener du? Vet ikke hvordan det er med din versjon av VB.NET, men min håndterer da vitterlig følgende:

       Dim int_Test(2) As Integer
       int_Test(0) = 100
       int_Test(1) = 200
       int_Test(2) = 300

       MsgBox(int_Test(0))

...eneste ulempen er at Dim int_Test(2) nå betyr.. "opprett en liste med 3 elementer". :(

Lenke til kommentar
...eneste ulempen er at Dim int_Test(2) nå betyr.. "opprett en liste med 3 elementer". :(

Det var nettopp det jeg mente med setningen. Du kan ikke lenger definere hvilket grunntall tellingen skal begynne med. Følgende setning, som var lovlig i tidligere versjoner, er altså ikke korrekt:

 

Dim aArray(1 To 100) As String

 

Men jeg kan godt si meg ening i Microsofts beslutning. Annet enn grunntallene 1 og 0, ble ikke valgmuligheten i lower-bound benyttet i det hele tatt. Og hvorfor ikke da gå over til det andre programmeringsspråk har brukt i årevis? Annet enn å forvirre nybegynnerene ytterligere, kan jeg egentlig ikke se en nytte i lower-bound.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...