C#中的params的用法(可變數組)

最近小編看C#視頻,聽到小楊老師講到可變數組,涉及到一個param修飾符,有點不太明白,於是小編站在巨人的肩膀上開始了探索和學習,略有了解,分享給大家喲~

【一】params是什麼?

params是一個計算機函數,表示函數的參數是可變個數的,即可變的方法參數,用於表示類型相同,但參數數量不確定。

C#開發語言中 params 是關鍵字,params主要的用處是在給函數傳參數的時候用,就是當函數的參數不固定的時候。 在函數的參數數目可變而執行的代碼差異很小的時候很有用!

【二】用法:

可變的方法參數,也稱數組型參數,適合於方法的參數個數不知的情況,用於傳遞大量的數組集合參數;當使用數組參數時,可通過使用params關鍵字在形參表中指定多種方法參數,並在方法的參數表中指定一個數組。

 static void Main(string[] args)
        {
            Show("1");//調用Show方法時只能傳一個string類型的實參
        }
        public static void Show(string str)//只有一個string類型的形參
        {

        }

①、要實現調用方法時想放多個(任意個數)的實參,那麼形參就要用params關鍵字修飾並且後邊跟一個數組,表示是一個可變數量的、同類型的數組參數

形式爲:方法修飾符 返回類型 方法名(params 類型[] 變量名)

{

方法體

}

        static void Main(string[] args)
        {
            
            Show("1","我","你好");//調用Show方法時可以傳任意個數的string類型的實參
        }
        public static void Show(params string[]strs )//params修飾的string類型的形參數組
        {

        }

②、如果有多個類型的參數,則params修飾的參數數組要放到最後,並且只使用一次

   static void Main(string[] args)
        {
            
            Show(2,"1","我","你好");//調用Show方法時先傳一個int類型的實參2,再傳任意個數的string類型的實參
        }
        public static void Show(int a,params string[]strs )
         //此時Show方法中有兩個形參,一是int類型的形參a,而是params修飾的string類型的形參數組
        {

        }

③、如果想要這個形參數組可以傳“不同”類型的,則可以寫成object類型。因爲object類型是所有類型的基類,無論是string類型、int類型還是其他自己定義的類的類型,都是object類型的子類。

      static void Main(string[] args)
        {
            
            Show(56,2,"1","我",3,4,5,"你好");//調用Show方法時傳任意個數的任何類型的實參
        }
        public static void Show(params object[]strs )
         //此時Show方法中一個形參params修飾的object類型的形參數組,object可以是任何類型
        {

        }

【三】使用params時的注意事項:

(1)若形參表中含一個參數數組(params形參數組),則該參數數組必須位於形參列表的最後,並且只能使用一次。即在方法聲明中的 params 關鍵字之後不允許任何其他參數,並且在方法聲明中只允許一個 params 關鍵字。

(2)參數數組必須是一維數組;

(3)不允許將params修飾符與ref和out修飾符組合起來使用;

(4)params修飾的參數數組,可以爲任何類型,只要設置數組類型爲object就可以。

(5)若實參是數組則按引用傳遞,若實參是變量或表達式則按值傳遞。

(6)C#語法規定,params後邊必定跟數組。作用是把不定數量的、同類型的參數裝入這個數組中。

 

這是一個非常小的知識點,用params修飾形參數組就可以傳任意個數的實參,相信在以後的實踐中也會用到的~

下一站,飛行棋走起~~~加油!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章