【问题标题】:Array length with fixed index具有固定索引的数组长度
【发布时间】:2014-01-26 16:11:45
【问题描述】:

我想知道在 Visual Basic 中是否有任何方法来检查一个数组的当前长度,该数组已被声明和初始化为一个固定的数字,但可能还没有存储任何数据。例如

Dim arrayStudent As String(3) = {}

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

我正在尝试设置一个 if 语句,如果当前长度小于 3,它将让输入文本框进入我的 for 循环。

【问题讨论】:

  • 你的问题不清楚!

标签: .net arrays


【解决方案1】:

没有“当前长度”这样的概念。它从一开始就有 3 个元素。它们的开头都是Nothing,但长度仍然是3。

如果您想计算数组中有多少个非空元素,您可以使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-30
    • 2011-05-18
    • 1970-01-01
    • 2019-05-31
    • 2021-09-07
    • 1970-01-01
    • 2011-01-29
    相关资源
    最近更新 更多