可変長引数
可変長引数の使い方 ▲
C#では params キーワードを用いることでメソッドの引数の数を可変にすることができる
現状の C# では、params 修飾子を付けれるのは配列だけであり、IEnumerable<T>インターフェイスには未対応である
また、可変長引数にしたメソッドは引数なしで呼ぶこともできる。
この場合、呼び出された側のメソッドには空配列(長さ 0 の配列)が渡されるので null チェックは不要である
using System;
class Program
{
static void Main()
{
// これらの合計値が欲しいとき
int a = 1, b = 3, c = 22, d = 18, e = 16;
// 可変長引数を用いると一度配列にいれなおさなくても、自動的に配列にしてくれる
int max = Sum( a, b, c, d, e );
Console.WriteLine( max ); // 60
}
static int Sum( params int[] values )
{
int sum = 0;
for( int index = 0; index < values.Length; ++index )
{
sum += values[ index ];
}
return sum;
}
}
目次