2016-06-15 5 views
0

프로그래밍을 다시하고 Classes에 익숙하지 않은 채 2 차원 배열을 수업에서 사용하려고합니다.2 차원 배열이있는 Visual Basic 클래스?

함수에서 반환 할 클래스에서 두 개의 2 차원 배열의 크기 (x, y)를 전달해야하는 함수가 필요합니다. 그래서 나는 ReturnVar

에게 물론이 작동하지 않는 코드가 난 후 무엇을 보여 단지 골격을 어둡게 어떻게하면

이 가능하다.

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

뭔가를해야 당신은 그것을 잊을 수 없습니다

:

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 

함수는 함수가 될 필요가 없습니다 지금은 너무 간단합니다 0

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

와우, 멋지게 보입니다. :) 함수 대신 Public Sub New 루틴에 코드를 넣고 배열을 채울 수있을 것 같아요? 기술적으로 배열의 크기는 x와 y가 아니지만 x와 y는 배열의 크기 계산에 사용됩니다. 나는 오늘 밤 그것을 시험 할 것이다, 제비 뽑기 고맙다! – Konrad