更新日: 2010 年 5 月 7 日

可変個 (不定個) の引数を渡すために、通常なら配列などのコレクションを作成して引数として渡す場合が多いかもしれませんが、わざわざそのようなことをせずに、そのままそれらの引数を渡したくなるときがあります。このような場合、C/C++ では va_list を使用できましたが、.NET にもこうした仕組みがあります。

以下の Visual Basic (VB.NET) のコードは、可変個の引数を受け取って、その平均値を返す例です。

Visual Basic
Sub Main() 
Dim av As Decimal = MyAverage(345) 
Console.WriteLine(av) 
Console.ReadLine() 
End Sub 
 
Function MyAverage(ByVal ParamArray args() As IntegerAs Decimal 
Dim Total As Integer = 0 
For Each i As Integer In args 
Total = Total + i 
Next 
Return Total / args.Length 
End Function 
 
 
ここでのポイントは ParamArray です (C# では params キーワードを使用します)。このキーワードを使用して、String クラスの Format メソッドに代表されるような可変個の引数を受け取ることのできるメソッドが、皆さんも簡単に構築できます。

Code Recipe

ページのトップへ