2016-06-15 7 views
0

もう一度プログラミングをやり直し、Classesに新しく取り入れました.2次元配列をクラス内で動作させようとしています。2次元配列を持つVisual Basicクラス?

関数が返すクラス内の2つの2次元配列のサイズ(x、y)を渡す関数が必要です。ので、どのように私はこれは、私が後だものを表示するだけの骨格を当然のコードを動作していないReturnVar

を暗くしない場合

は、可能なこのです。

Public Class TestClass 
    Public Array1(,) As Integer 
    Public Array2(,) As Integer 
End Class 

Function MyFunc1(ByVal x as Integer, y as Integer) as TestClass 
    'x and y will define the size of the two arrays in the TestClass 

    Dim ReturnVar ??? As New TestClass 
    . 
    do some code 
    . 
    Return ReturnVar 
End Function 
+0

クラス、2次元配列、またはその両方について学習しようとしていますか? – dbasnett

答えて

1

私が正しく理解している場合は、このような何かがそれを実行する必要があります。

Function MyFunc1(ByVal x As Integer, y As Integer) As TestClass 
    Dim ReturnVar As New TestClass 
    ReDim ReturnVar.Array1(x, y) 
    ReDim ReturnVar.Array2(x, y) 
    Return ReturnVar 
End Function 

私が考えるTestClassをのconstrcutorにこれらの値を渡すために良いアイデアだろう、それはそれが明らかになりそして、あなたはそれを忘れることはできません。

Public Class TestClass 
    Public Array1(,) As Integer 
    Public Array2(,) As Integer 

    Public Sub New(x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer) 
     ReDim Array1(x1, y1) 
     ReDim Array2(x2, y2) 
    End Sub 
End Class 

あなたの関数は、今では機能する必要がないので、簡単です:

Function MyFunc1(ByVal x As Integer, y As Integer) As TestClass 
    Return New TestClass(x, y, x, y) 
End Function 
+0

うわー、それは簡単に見える! :)私は公共の新しいルーチンに私のコードを入れて、配列を埋めることができる関数の代わりにだと思いますか?技術的には、配列のサイズはxとyではありませんが、xとyは配列のサイズの計算に使用されます。私は今夜​​それを試してみるよ、ありがとう! – Konrad

関連する問題