Eine Ganzzahl in VB.NET ist ein Werttyp. Wenn Sie versuchen, es auf Nothing
festzulegen (in VB.NET gibt es keine null
), nimmt es seinen Standardwert, der für eine ganze Zahl Null ist.
Sie können stattdessen eine Nullable(Of Integer)
verwenden, die auch als Integer?
geschrieben werden kann.
Als Demonstration:
Option Infer On
Option Strict On
Module Module1
Sub Main()
Dim myArray As Integer?() = {1, 5, 16, 15}
For j = 1 To 3
For i = 0 To UBound(myArray)
If myArray(i).HasValue Then
myArray(i) = Nothing
Exit For
End If
Next i
' show the values...
Console.WriteLine(String.Join(", ", myArray.Select(Function(n) If(n.HasValue, n.Value.ToString(), "Nothing"))))
Next
Console.ReadLine()
End Sub
End Module
Ausgänge:
Nichts, 5, 16, 15
Nichts, Nichts, 16, 15
Nichts, nichts, nichts, 15
Wenn Sie sich für den Unterschied zu C# interessieren, siehe z. B. Why can you assign Nothing to an Integer in VB.NET?
Was ist die Art der Elemente der 'myArray'? –