可変長引数②
可変長引数は引数無しで呼べる
可変長引数のメソッドに対してなにも指定せずメソッドを呼ぶと、nullが渡されます。つまり、メソッド側は空配列が作成されます。
private void TotalSum3(params int[] values) { Console.WriteLine(values.Count()); } public static void Main() { TotalSum3(); }
Private Sub TotalSum3(ParamArray values As Integer()) Console.WriteLine(values.Count()) End Sub Public Sub Main() TotalSum3() End Sub
0
可変長引数で指定できるのは配列のみ
System.Collections.Generic名前空間であるIEnuemrable
以下はコンパイルエラーになります。
private void TotalSum(params IEnumerable<int> values) { private void TotalSum(params List<int> values) {
Private Sub TotalSum(ParamArray values As IEnumerable(Of integer)) Private Sub TotalSum(ParamArray values As List(Of Integer))