Zufallszahlen in Array speichern -> System.NullReferenceException

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von MB-Tech.

    Zufallszahlen in Array speichern -> System.NullReferenceException

    VB.NET-Quellcode

    1. Dim rnd As New System.Random()
    2. For p As Integer = 0 To ZählRadius
    3. RandomValuesX(p) = rnd.Next(80, 100)
    4. Next


    Fehler:

    System.NullReferenceException wurde nicht behandelt.
    Message=Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

    ?(
    Machs mal mit ner List (of Integer)

    VB.NET-Quellcode

    1. Dim RandomValuesX as new List (of Integer)
    2. Dim rn As New Random
    3. For p As Integer = 0 To ZählRadius
    4. RandomValuesX.Add(rn.Next(80, 100))
    5. Next


    Bei normalen Arrays musst du die größe Angeben (glaub ich^^):

    VB.NET-Quellcode

    1. Dim RandomValuesX(MaximaleGröße) as Integer
    Dankeschön das funktionert.

    Leider habe ich das jetzt nicht verstanden, worin liegt den der unterschied zwischen dem "list of integer" und einem "normalen" Array ? :cursing:

    edit: Weil ich habe nähmlich gelernt wenn man ebie inem Array keine Größe angibt Skaliert das VS alleine! Ansonsten müsste man einem ReDim machen.
    Wenn du einem Array bei der Deklaration keine feste Größe zuweist, dann wird diese mWn. automatisch nach der ersten Zuweisung festgelegt.
    Beispiel:

    VB.NET-Quellcode

    1. Dim Array1(2) As String = { "Hallo", "Du", "Trolo" }
    2. Dim Array2() As String ' Keine Größe angegeben
    3. Array2 = Array1 ' Größe wird auf die Größe von Array1 festgelegt
    4. Array2(3) = "asdf" ' Funktioniert nicht mehr
    Ein Array ist eine Feldvariable. Verschiedene Felder für Verschiedene Werte.

    Eine List OF() ist eine Klasse, welche die Daten als Items behandelt und zudem eine Menge Funktionen und Properties liefert.

    LG