login  Naam:   Wachtwoord: 
Registreer je!
 Forum

waarom een 0 en geen nullReference? (Opgelost)

Offline verhaba - 07/11/2009 15:24
Avatar van verhabaLid Kan iemand me uitleggen waarom de output 1 en 0 is? Ik heb toch geen waarde toegekend op index 1? Of komt dit door de .toString property?

dit is mijn code:
  1. Module Module1
  2. Sub Main()
  3. Dim test(1) As Integer
  4. test(0) = 1
  5. Dim index As Integer
  6. For index = 0 To 1
  7. If test(index).ToString IsNot Nothing Then
  8. Console.WriteLine(test(index))
  9. Else
  10. Console.WriteLine("De waarde op index " & index & "is niet toegekend")
  11. End If
  12. Next
  13. 'Console.WriteLine(test(0))
  14. Console.ReadLine()
  15. End Sub
  16. End Module

3 antwoorden

Gesponsorde links
Offline Abbas - 07/11/2009 16:06 (laatste wijziging 07/11/2009 16:23)
Avatar van Abbas Gouden medaille

Crew .NET
  1. Dim test(1) As Integer

Dit declareert een array van 2 integers, de regel erna zet je de waarde van het eerste element op 1.

In de loop ga je door je array en het eerste element heb je op 1 gezet, dus zal er bij WriteLine ook gewoon 1 verschijnen. Vermits je de tweede waarde geen specifieke waarde hebt meegegeven zal deze op 0 staan en bij de WriteLine dus ook 0 weergeven.

Voor meer info en uitleg: http://www.site...erd/Arrays

Edit:
Het heeft dus zeker niets met de .ToString() methode! Deze zal alleen het object naar een string-object omzetten om dan te kunnen weergeven.

Edit:
Een NullReferenceException krijg je in gevallen zoals in het onderstaande voorbeeld:

  1. 'Request.QueryString["key"] is hetzelfde als $_GET["key"] in PHP
  2.  
  3. 'Fout is dan om zomaar te doen:
  4. Dim action As String = Request.QueryString["a"]
  5.  
  6. 'Stel volgende URL: site.be/index.aspx?a=iets
  7. 'Zolang de '?a=...' er staat is het niets, of er nu iets achter de = staat of niet
  8. 'Maar als je hebt: site.be/index.aspx en je voert die regel uit krijg je de NullReferenceException
Offline verhaba - 07/11/2009 18:19
Avatar van verhaba Lid hey titjes
thx voor je snel antwoord. mag ik dus besluiten dat de default waarde van een array (van 0 tot upperbound) nul is? Grtz. Bart V
Offline Stijn - 07/11/2009 23:17 (laatste wijziging 07/11/2009 23:18)
Avatar van Stijn PHP expert De standaardwaarde van integers of floats zijn altijd nul. De standaardwaarde van een boolean is ook false. Niet native types hebben meestal de standaardwaarde null.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.168s