我想知道在Visual Basic中是否还有检查已声明并使用固定数字初始化的数组的CURRENT长度,但可能还是可能没有存储任何数据。 e.g
Dim arrayStudent As String(3) = {}
是一个包含3个索引但没有当前数据的数组,如果我使用arrayStudent.length
,那么无论如何都是“3”。
我正在尝试设置一个if语句,如果当前长度小于3,则会将输入文本框放入for-loop。
答案 0 :(得分:4)
没有"当前长度"这样的概念。它从一开始就有3个元素。它们的所有值都以Nothing
开头,但长度仍为3.
如果您正在尝试计算数组中有多少非Nothing元素,您可以使用LINQ:
Dim count = arrayStudent.Count(Function(x) x IsNot Nothing)
但坦率地说,你最好使用List(Of String)
而不是......
请注意,就我所知,您的变量声明在开始时无效 - 但这可行:
Public Class Test
Public Shared Sub Main()
Dim arrayStudent(3) As String
Dim count = arrayStudent.Count(Function(x) x IsNot Nothing)
Console.WriteLine(count)
arrayStudent(1) = "Fred"
count = arrayStudent.Count(Function(x) x IsNot Nothing)
Console.WriteLine(count)
End Sub
End Class