2013-02-28 39 views
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 

回答

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 

它不會編譯,否則。

+0

感謝布賴恩!你的建議讓我足以讓它與1d和2d陣列一起工作。如果其他人想使用它,我會發布我所做的。 – JoeB 2013-02-28 15:12:18