讓某個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;
	}
}

輸出結果:

C# string.Format Functions params MethodParameters MultiParameters MultiArguments