VB.NET: Probleme bei Deklaration eines Arrays

VB.NET/VB2005:

Ich habe Probleme bei der Deklaration eines zweidimensionalen Arrays in einer Klasse:

Code:

Public Class Class1
 Private a As Integer
 Private b As Integer
 Public c(a, b) As Integer
 Public Sub New(ByVal x As Integer, ByVal y As Integer)
 a = x
 b = y
 End Sub
End Class

Durch ‚Public Sub New(…)‘ sollen a und b initialisiert werden.
Dann soll das zweidimensionale Array c mit den Größen a und b deklariert werden.
Doch bei der Erzeugung der Klasse wird zuerst c deklariert (wenn a und b noch 0 sind) und dann erst ‚Public Sub New(…)‘ ausgeführt. Dadurch hat c die Größe (0,0) statt (x,y).

Bei einem eindimesionalen Array könnte ich die Funktion Array.Resize verwenden, doch die funktioniert nicht bei zweidimensionalen Arrays.

Wie kann ich c mit (a,b) deklarieren?

Hallo erstmal.

VB.NET/VB2005:

Sehr schön :smile:

Ich habe Probleme bei der Deklaration eines zweidimensionalen
Arrays in einer Klasse:

Code:

Public Class Class1
Private a As Integer
Private b As Integer
Public c(a, b) As Integer
Public Sub New(ByVal x As Integer, ByVal y As Integer)
a = x
b = y
End Sub
End Class

Ohne jetzt ein Quellenstudium zu betreiben:
Warum nicht (z.B.)
Private a As Integer = 4 innerhalb der ‚Public Sub New‘ Methode ?

Durch ‚Public Sub New(…)‘ sollen a und b initialisiert
werden.

Sicher, aber es fehlen die Anfangswerte.
Unter .NET 1.1 gab es zum Ändern der Indizes übrigens den ‚ReDim()‘-Befehl. So auch unter .NET 2.0: http://www.codeproject.com/vb/net/DB_Spy_Package.asp

HTH
mfg M.L.

Hallo,

Vielen Dank für deine schnelle Rückantwort.

Warum nicht (z.B.)
Private a As Integer = 4 innerhalb der ‚Public Sub New‘
Methode ?

Der Code ist stark vereinfacht aus dem Originalcode, bei dem es außer ‚Public Sub New(…)‘ auch andere Methoden gibt, die auf a zugreifen.

Unter .NET 1.1 gab es zum Ändern der Indizes übrigens den
‚ReDim()‘-Befehl.

Das ist genau die Antwort, die ich gesucht, in der Microsoft-Hilfe aber nicht gefunden habe.

Vielen Dank nochmals.

Gruß,
Paul