カテゴリ: VB.NET 更新日: 2025/12/08

VB.NETで可変長引数(ParamArray)の使い方を初心者向けに解説

VB.NETで可変長引数を使う方法(ParamArray)
VB.NETで可変長引数を使う方法(ParamArray)

先生と生徒の会話形式で理解しよう

生徒

「先生、VB.NETでメソッドに引数を何個でも渡したい場合ってどうすればいいですか?」

先生

「それなら、ParamArrayを使うと便利です。VB.NETでは、引数の数が変わってもまとめて受け取れる方法があります。」

生徒

「まとめて受け取れるって、どういうことですか?」

先生

「簡単に言うと、数字や文字列を何個でもメソッドに渡せて、配列のように扱えるということです。」

1. ParamArrayとは?

1. ParamArrayとは?
1. ParamArrayとは?

VB.NETのParamArrayは、可変長引数を受け取るためのキーワードです。通常、メソッドは決まった数の引数を受け取りますが、ParamArrayを使うと、0個でも1個でも複数でも引数を渡すことができます。内部的には配列として扱われるため、ループで処理したり、合計を計算したりすることが簡単にできます。

2. ParamArrayの基本構文

2. ParamArrayの基本構文
2. ParamArrayの基本構文

ParamArrayを使う場合は、引数の前にParamArrayと書き、最後の引数として配列を受け取ります。


Sub ShowNumbers(ParamArray numbers() As Integer)
    For Each num As Integer In numbers
        Console.WriteLine(num)
    Next
End Sub

ShowNumbers(1, 2, 3, 4)
ShowNumbers(10, 20)
ShowNumbers()

1
2
3
4
10
20

引数が何個渡されても、配列としてnumbersにまとめて格納されます。引数がない場合もエラーにならず、空の配列として処理されます。

3. 便利な使い方:合計を計算する例

3. 便利な使い方:合計を計算する例
3. 便利な使い方:合計を計算する例

ParamArrayを使うと、複数の数値をまとめて処理することができます。例えば、引数の合計を計算するメソッドを作ることも簡単です。


Function SumValues(ParamArray values() As Integer) As Integer
    Dim total As Integer = 0
    For Each val As Integer In values
        total += val
    Next
    Return total
End Function

Console.WriteLine(SumValues(1, 2, 3, 4))
Console.WriteLine(SumValues(10, 20))
Console.WriteLine(SumValues())

10
30
0

引数の数に関係なく、合計を自動的に計算できるため、非常に便利です。

4. ParamArrayの注意点

4. ParamArrayの注意点
4. ParamArrayの注意点
  • ParamArrayは必ず引数リストの最後に置く必要があります。
  • 1つのメソッドにつきParamArrayは1つだけ使用可能です。
  • 引数が配列以外でも渡せますが、配列として扱われることを意識する必要があります。

5. 実践例:文字列を結合する

5. 実践例:文字列を結合する
5. 実践例:文字列を結合する

数値だけでなく、文字列でもParamArrayは使えます。複数の文字列をまとめて結合する例を見てみましょう。


Function JoinStrings(ParamArray texts() As String) As String
    Dim result As String = ""
    For Each txt As String In texts
        result &= txt & " "
    Next
    Return result.Trim()
End Function

Console.WriteLine(JoinStrings("VB.NET", "は", "楽しい", "言語です"))
Console.WriteLine(JoinStrings("こんにちは", "世界"))
Console.WriteLine(JoinStrings())

VB.NET は 楽しい 言語です
こんにちは 世界

ParamArrayを使うことで、文字列の結合やリストの作成なども柔軟に行うことができます。

6. ポイント整理

6. ポイント整理
6. ポイント整理

VB.NETでParamArrayを使うと、メソッドに渡す引数の数を固定せずに柔軟に対応できます。数値の合計や文字列の結合、リスト作成など、さまざまな場面で役立つ機能です。初心者でも配列として扱えるため、ループや集計処理が簡単に書けることが大きな利点です。

まとめ

まとめ
まとめ

本記事では、VB.NETのParamArrayを活用した可変長引数の使い方について詳しく解説しました。ParamArrayは、メソッドに渡す引数の数を固定せずに、0個でも1個でも複数でも柔軟に受け取ることができる便利な機能です。数値や文字列、場合によってはオブジェクトなども配列としてまとめて扱えるため、ループ処理や合計計算、文字列結合などの様々なシナリオで役立ちます。また、引数が何も渡されない場合も空の配列として扱えるため、エラーを回避しやすく初心者でも安全に使える点が大きなメリットです。

さらに、ParamArrayを使う際の注意点も理解しておくことが重要です。例えば、ParamArrayは必ず引数リストの最後に置く必要があり、1つのメソッドにつき1つだけ使用可能です。これを守ることで、メソッドが正しく引数を受け取り、意図した通りの処理を実行できます。数値の合計を計算する関数や、複数の文字列を結合する関数などの例からも分かる通り、ParamArrayは汎用性が高く、コードを短く簡潔に保ちながら柔軟に処理を行うことができます。初心者がプログラムの効率化や可読性向上を学ぶうえでも最適な機能です。

サンプルプログラムで振り返り


' 数値をまとめて合計
Function SumNumbers(ParamArray numbers() As Integer) As Integer
    Dim total As Integer = 0
    For Each n As Integer In numbers
        total += n
    Next
    Return total
End Function

' 文字列をまとめて結合
Function CombineStrings(ParamArray texts() As String) As String
    Dim result As String = ""
    For Each txt As String In texts
        result &= txt & " "
    Next
    Return result.Trim()
End Function

Console.WriteLine(SumNumbers(1, 2, 3, 4))
Console.WriteLine(SumNumbers(10, 20))
Console.WriteLine(SumNumbers())
Console.WriteLine(CombineStrings("VB.NET", "は", "便利", "な言語です"))
Console.WriteLine(CombineStrings("こんにちは", "世界"))
Console.WriteLine(CombineStrings())

10
30
0
VB.NET は 便利 な言語です
こんにちは 世界

このサンプルから、ParamArrayを使うと引数の数に関係なく処理できることが分かります。数値でも文字列でもまとめて配列として扱えるため、ループや集計、結合処理が簡単に行えます。これにより、初心者でもコードを短く効率的に書けることが大きな利点です。

先生と生徒の振り返り会話

生徒

「ParamArrayを使うと、メソッドに渡す引数の数を自由に変えられるんですね。」

先生

「そうです。整数や文字列をまとめて配列として扱えるので、合計計算や文字列結合なども簡単に書けます。」

生徒

「引数がなくてもエラーにならないんですね。」

先生

「はい、空の配列として処理されるので安全です。ただし、ParamArrayは最後の引数に置くことや1つだけにすることなどのルールは守る必要があります。」

生徒

「なるほど。ParamArrayを活用すれば、初心者でも柔軟で効率的にVB.NETのメソッドを作れるんですね。」

先生

「その通りです。引数の数に制限がない処理や複数の値をまとめて扱いたい場合には、ParamArrayを上手に活用するとコードが簡潔で分かりやすくなります。」

カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NET WebFormsのGridViewでデータ表示を完全マスター!初心者向けガイド
New2
VB.NET
VB.NETの例外処理とパフォーマンスの関係を初心者向けに完全解説
New3
ASP.NET
ASP.NET WebFormsでデータベースと連携!初心者でもできる保存と表示の基本
New4
VB.NET
VB.NETでStackTraceを利用してエラー箇所を特定する方法を完全解説!初心者向け例外処理入門
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETのEnum(列挙型)の使い方を完全解説!初心者にも分かる定義と活用方法
No.2
Java&Spring記事人気No2
VB.NET
VB.NETのIf文の使い方と条件分岐を完全ガイド!初心者でもわかる基本構文と実例
No.3
Java&Spring記事人気No3
VB.NET
VB.NETのBoolean型(True/False)の使い方と条件分岐での活用方法を徹底解説!初心者でも理解できる基本
No.4
Java&Spring記事人気No4
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.5
Java&Spring記事人気No5
VB.NET
VB.NETの例外処理を完全ガイド!初心者でもわかるSystem.Exceptionの仕組み
No.6
Java&Spring記事人気No6
VB.NET
VB.NETプログラムの実行方法まとめ!Visual Studio・コマンドラインの使い方
No.7
Java&Spring記事人気No7
VB.NET
VB.NETのコンストラクタと初期化処理の書き方を初心者向けに解説
No.8
Java&Spring記事人気No8
VB.NET
VB.NETでの変数名の付け方とは?わかりやすくエラーの起きにくい命名規則を紹介