1

当我创建一个类并使用该Sub New()选项时,我想遍历 16 个 1d 和 2d 双精度数组并将所有元素设置为 999999999。我在下面有以下代码,但编译器不喜欢它。有谁能够帮助我?

For Each p As PropertyInfo In Me.GetType().GetProperties()
    If p.CanRead AndAlso p.PropertyType.Name.IndexOf("Double[]") > -1 Then
        For x As Integer = 0 To DirectCast(p.GetValue(Me, Nothing), Double()).GetLength - 1
            'code to set array element = 999999999
        Next
    End If
Next
4

1 回答 1

0

在可能具有多个维度的数组上使用 GetLength 时,您需要指定维度。

改变:

For x As Integer = 0 To DirectCast(p.GetValue(Me, Nothing), Double()).GetLength - 1

For x As Integer = 0 To DirectCast(p.GetValue(Me, Nothing), Double()).GetLength(0) - 1

它不会编译,否则。

于 2013-02-28T05:09:59.793 回答