最近學到不定參數的方法,發現了一些事,請看程式碼:
using System;
class Program
{
public static int addi(params int[] value)
{
int sum = 0;
foreach( int i in value )
sum += i;
return sum;
}
public static void Main(string[] args)
{
int[] myArry = {1,2,3,4,5,6,7,8,9,10};
Console.WriteLine("不定參數呼叫?"+addi(myArry)); //可以這樣用嗎?
Console.WriteLine("不定參數呼叫:"+addi(1,2,3,4,5,6,7,8,9,10));
}
}
在 Main 裡面,照理說我們這樣呼叫 addi(1,2,3),參數隨便給幾個都行,但是我隨意的
給了一個陣列 addi(myArry),結果,它也跑出一樣的答案了。
我要問的是,不定參數不就是要給它一堆參數,而我在參數裡傳陣列進去,它竟然接受,
這是正常的嗎?
既然陣列可以,我試了一下:addi(1,2,3,myArry) 這樣傳又會出錯。
到底怎麼回事?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.58.107.57