一.可選引數與命名引數
可選引數: 可以為部分或者全部形參分配預設值. 然後,呼叫這些方法的**可以選擇不指定部分實參,接受其預設值.命名引數:在使用可選引數時,可以通過制定引數名稱的方法為其傳遞實參.
二.準則與規則
有預設值的引數必須放在沒有預設值的所有引數之後。
預設值必須是編譯時能確定的常量值。例如:基元型別;列舉型別;能設為null的引用型別等。但不能設定為物件的方法和屬性等。
//可選引數static int
add(int a, int b = 2)
static void main(string args)
使用命名引數傳遞引數時,可以按照任何順序。
命名的實參傳遞必須放在實參列表的尾部,也就是,非命名引數應該放在命名引數之前。 如果形參標識了
ref/out,命名實參應使用如下語法:
static void main(string args)//方法宣告
private static void m(ref int32 x)
引數的呼叫順序
在命名引數出現前,函式的引數是從左到右依次呼叫。那麼有了命名引數後,函式的呼叫順序是否被改了呢?
先看乙個例子:
static void main(string args)static int p1()
static int p2()
static int p3()
static void testfun(int a, int b, int c)
,b:,c:", a, b, c));
}
可以看出,引數的執行順序是p1→p2→p3.如上述**,它的執行結果如下:
p1 p2
p3 a:1,b:2,c:3
那麼使用命名引數後呢?順序是否有變化呢?
static void main(string args)
順序變成了:p3→p2→p1執行結果如下:
p3 p2
p1 a:1,b:3,c:2
為什麼是這樣呢?
那是因為編譯器會先呼叫使用命名引數的引數,然後再執行剩餘的引數。
可變數量的引數
應用場景:方法需要處理的引數數量不可預定,例如:連線任意數量的字串。
使用方法:使用params關鍵字修飾引數陣列。
使用優點:不用在呼叫方顯示的將引數轉換為陣列,可以隨意的傳入引數,使**更為優美,簡潔。
class programstatic void main(string args)
}
php 可變數量引數
php 在使用者自定義函式中支援可變數量的引數列表。在 php 5.6 及以上的版本中,由 語法實現 在 php 5.5 及更早版本中,使用函式func num args func get arg 和 func get args in php 5.6 php基礎知識詳解教程 案列一 在php 5.6...
方法可變數量的引數
宣告乙個可變數量的引數 static int add params int values add 1,2,3 這時,由於params關鍵字,是可以編譯通過和執行的。params只能應用於方法引數中的最後乙個。在c 編譯器發現add 1,2,3 時,會先尋找是否有add int i,int j,int...
方法可變數量的引數
宣告乙個可變數量的引數 static int add params int values add 1,2,3 這時,由於params關鍵字,是可以編譯通過和執行的。params只能應用於方法引數中的最後乙個。在c 編譯器發現add 1,2,3 時,會先尋找是否有add int i,int j,int...