close
相信大家在撰寫腳本的時候,一定有遇過某個 方法(Methods) 需要接收大量或者數量不確定的 方法參數(Method Parameters) 時,這個時候你除了使用 成員多載(Member Overloading) 之外,其實你還可以使用關鍵字 params 來接收數量不固定的 方法參數(Method Parameters)!
關鍵字 params 的用法如下
// 可以直接給多個 string 方法參數, // 執行結果印出 "Params 使用示範!!!" TestParams( "Params", " ", "使", "用", "示", "範", "!!!" ); // 也可以直接給一個一維陣列, // 執行結果印出 "Params 使用示範!!!" string[] ary = new string[]{ "Params", " ", "使", "用", "示", "範", "!!!" }; TestParams( ary ); // 就算不給參數, 也是可以的, // 執行結果為空字串, 因為陣列長度為 0, 所以系統會印出我的預設空字串 TestParams(); // 方法名稱( params 類型一維陣列 參數名稱 ) private void TestParams( params string[] ary ) { string s = string.Empty; for ( int i = 0; i < ary.Length; i++ ) s += ary[i]; Debug.Log( s ); }
注意!以下是錯誤的!
// 這是錯誤的, 傳遞的方法參數類型跟接收的參數類型不同! TestParams( "ABC", 123 ); // 以下才是正確的 TestParams( "ABC", "123" ); // 這是錯誤的, 一維陣列後不能再給其他方法參數! string[] ary = new string[]{ "測", "試" }; TestParams( ary, "ABC" ); // 以下才是正確的 string[] ary = new string[]{ "測", "試", "ABC" }; TestParams( ary ); // 這是錯誤的, 關鍵字 params 之後不能有別的方法參數! private void TestParams( params string[] ary, int i ) { } // 以下才是正確的 private void TestParams( int i, params string[] ary ) { } // 這是錯誤的, 一個方法宣告中只能有一個關鍵字 params! private void TestParams( params string[] ary, params string[] ary2 ) { } // 以下才是正確的 private void TestParams( params string[] ary ) { }
文章標籤
全站熱搜
留言列表