Parameterarrays

Aktualisiert: November 2007

Normalerweise kann eine Prozedur nur mit der in der Prozedurdeklaration angegebenen Anzahl an Argumenten aufgerufen werden. Wenn jedoch eine unbestimmte Anzahl von Argumenten erforderlich ist, können Sie ein Parameterarray deklarieren. Dadurch akzeptiert die Prozedur ein Array von Werten für einen Parameter. Beim Definieren der Prozedur müssen Sie die Anzahl der Elemente im Parameterarray nicht kennen. Die Arraygröße wird durch die einzelnen Aufrufe der Prozedur jeweils individuell festgelegt.

Deklarieren eines ParamArray

Um auf ein Parameterarray in der Parameterliste hinzudeuten, verwenden Sie das ParamArray-Schlüsselwort. Dabei gelten folgende Regeln:

  • Eine Prozedur kann nur 1 Parameterarray definieren, und es muss sich um den letzten Parameter in der Prozedurdefinition handeln.

  • Das Parameterarray muss durch Wert übergeben werden. Eine gute Lösung beim Programmieren ist es, das ByVal-Schlüsselwort explizit in die Prozedurdefinition einzufügen.

  • Das Parameterarray ist automatisch optional. Sein Standardwert ist ein leeres, eindimensionales Array mit dem Elementtyp des Parameterarrays.

  • Dem Parameterarray dürfen nur erforderliche Parameter vorangehen. Als optionaler Parameter ist nur das Parameterarray zulässig.

Weitere Informationen finden Sie unter Gewusst wie: Definieren einer Prozedur mit einer unbestimmten Anzahl von Parametern.

Aufrufen eines ParamArray

Wenn Sie eine Prozedur aufrufen, die ein Parameterarray definiert, können Sie das Argument auf eine der folgenden Weisen angeben:

  • Nothing. Das ParamArray-Argument kann weggelassen werden. In diesem Fall wird der Prozedur ein leeres Array übergeben. Dasselbe kann auch durch Übergabe des Nothing (Visual Basic)-Schlüsselworts erreicht werden.

  • Eine Liste mit einer beliebigen Anzahl von Argumenten, die durch Kommas voneinander getrennt sind. Der Datentyp der einzelnen Argumente muss implizit in den ParamArray-Elementtyp konvertiert werden können.

  • Ein Array mit dem gleichen Elementtyp wie der Elementtyp des Parameterarrays.

In jedem Fall muss der Code innerhalb der Prozedur das Parameterarray als eindimensionales Array behandeln, dessen Elemente jeweils denselben Datentyp haben wie ParamArray.

Weitere Informationen finden Sie unter Gewusst wie: Aufrufen einer Prozedur mit einer unbestimmten Anzahl von Parametern.

Sicherheitshinweis:

Wenn Sie mit einem Array arbeiten, das unendlich groß sein kann, besteht die Gefahr, dass die interne Kapazität der Anwendung überschritten wird. Wenn Sie ein Parameterarray annehmen, sollten Sie die Größe des Arrays ermitteln, das der Aufrufcode an das Parameterarray übergeben hat. Ergreifen Sie entsprechende Schritte, wenn das Array für die Anwendung zu groß ist. Weitere Informationen finden Sie unter Gewusst wie: Bestimmen der Größe eines Arrays.

Siehe auch

Konzepte

Prozeduren in Visual Basic

Parameter und Argumente von Prozeduren

Übergeben von Argumenten als Wert und als Verweis

Argumentübergabe nach Position und Namen

Optionale Parameter

Prozedurüberladung

Typüberprüfung in Visual Basic

Referenz

Optional (Visual Basic)

UBound-Funktion (Visual Basic)

Weitere Ressourcen

Arrays in Visual Basic