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