Freigeben über


Arrays können nicht mit 'New' deklariert werden

Das Schlüsselwort New kann nur im Initialisierungsteil einer Arraydeklaration auftreten. Dies bedeutet, dass sich New auf der rechten Seite des Gleichheitszeichens (=) befinden muss, damit ein neuer Arraytyp erstellt werden kann, der der Arrayvariablen zugewiesen werden kann.

Das abgekürzte Verfahren für die Klasseninitialisierung ist für Arrays nicht verfügbar. Die folgenden beiden Codezeilen sind gültig und gleichwertig, weil sie ein Objekt aus einer Klasse initialisieren.

Dim formA as Form = New Form
Dim formA as New Form

Allerdings kann die Arrayinitialisierung nicht das gleiche abgekürzte Verfahren wie die Klasseninitialisierung verwenden.

Beachten Sie, dass die New -Klausel für ein Array runde Klammern ( ()) und geschweifte Klammern ( {}) enthalten muss. Die runden Klammern geben an, dass der neue Typ ein Array ist, und die geschweiften Klammern stellen die Initialisierungswerte bereit. Der Compiler benötigt die geschweiften Klammern selbst dann, wenn sie leer sind – also auch dann, wenn Sie keinen der Arraywerte initialisieren.

Fehler-ID: BC30053

So beheben Sie diesen Fehler

  • Ersetzen Sie z. B. eine Anweisung wie Dim myDates() As New Date ) durch eine Anweisung wie Dim myDates() As Date = New Date() {}.

Siehe auch