方法 : 不特定数のパラメータを受け取るプロシージャを呼び出す
更新 : 2007 年 11 月
プロシージャのパラメータ リストには、最後のエントリとしてパラメータ配列を宣言できます。これにより、そのパラメータに対して単一の値だけでなく、不特定数の値を渡せるようになります。
詳細については、「パラメータ配列」を参照してください。
パラメータ配列を使用してプロシージャを呼び出し、対応する引数を省略するには
通常の方法で、プロシージャ呼び出しを記述します。パラメータ配列は最後の引数として指定する必要があります。
最後から 2 番目の引数を指定して、引数リストを終了します。パラメータ配列は省略できます。パラメータ配列よりも前にあるすべてのパラメータは、必須であることが必要です。
または
パラメータ配列の引数として、キーワード Nothing を指定します。
Visual Basic は、このパラメータ配列に対して空の 1 次元配列をプロシージャに渡します。
パラメータ配列を使ってプロシージャを呼び出し、引数のリストを指定するには
通常の方法で、プロシージャ呼び出しを記述します。パラメータ配列は最後の引数として指定する必要があります。
パラメータ配列に格納する引数を、任意の数だけコンマで区切って指定します。各引数のデータ型は、暗黙的に ParamArray 要素型に変換できる必要があります。
Visual Basic は、指定されたすべての値を格納する 1 次元配列をプロシージャに渡します。
パラメータ配列を使ってプロシージャを呼び出し、引数の配列を指定するには
通常の方法で、プロシージャ呼び出しを記述します。パラメータ配列は最後の引数として指定する必要があります。
パラメータ配列に対して、パラメータ配列の要素型と同じ要素型を持つ 1 次元配列を指定します。
指定された配列を、Visual Basic がプロシージャに渡します。
使用例
「方法 : 不特定数のパラメータを受け取るプロシージャを定義する」で定義した studentScores プロシージャを呼び出す方法は、一般に次の例のようになります。
Call studentScores("George")
...
Call studentScores("Anne", "10", "26", "32", "15", "22", "24", "16")
Call studentScores("Mary", "High", "Low", "Average", "High")
Dim JohnScores() As String = {"35", "Absent", "21", "30"}
Call studentScores("John", JohnScores)
最初の呼び出しでは、パラメータ配列が完全に省略され、最初の引数 (必須) だけが指定されています。 studentScores プロシージャは、この呼び出しが空の配列を渡しているものとして処理します。
2 番目と 3 番目の呼び出しには、長さの異なる引数リストがパラメータ配列に指定されています。このようなリストは、それぞれ値の配列として渡されます。
4 番目の呼び出しは、パラメータ配列に配列を渡しています。