讓某個Function有無限多個參數可以使用
今天在使用string.Format()時突然想到,這種可以創造無限多個參數(Parameters)、加入無限多的引數(Arguments)是怎麼樣辦到的,查一查之後才知道是要依靠方法參數(Method Parameters)裡的params來完成,那麼,我們就自己實作個string.Format()來進行個小小的練習吧!此外,搞不清楚參數引數的人,可以順便參考一下下圖說明。
實作一個類似string.Format()的無窮參數Fuinction
跟params類似的方法參數有ref、out等,它們不是.NET Framework的類別或列舉,它們是參數用的「修飾詞」,用來給編譯器看的啦!
class Program
{
static void Main(string[] args)
{
string cTemp_1 = "is";
string cTemp_2 = "apple";
Console.Write(
getTogether("This {0} an {1}. Yes! An really {1}", cTemp_1, cTemp_2)
);
Console.Read();
}
static string getTogether(string cTemp, params string[] aryTemp)
{
int iTemp = 0;
foreach (var item in aryTemp)
{
cTemp = cTemp.Replace("{" + iTemp + "}", item);
iTemp++;
}
return cTemp;
}
}
輸出結果: