具有固定索引的数组长度

时间:2014-01-26 16:11:46

标签: .net arrays

我想知道在Visual Basic中是否还有检查已声明并使用固定数字初始化的数组的CURRENT长度,但可能还是可能没有存储任何数据。 e.g

Dim arrayStudent As String(3) = {}

是一个包含3个索引但没有当前数据的数组,如果我使用arrayStudent.length,那么无论如何都是“3”。

我正在尝试设置一个if语句,如果当前长度小于3,则会将输入文本框放入for-loop。

1 个答案:

答案 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