c 中可變引數params關鍵字學習

2022-06-10 18:51:08 字數 1378 閱讀 4919

引用

1、概念

params 是c#開發語言中關鍵字, params主要的用處是在給函式傳引數的時候用,就是當函式的引數不固定的時候。 在方法宣告中的 params 關鍵字之後不允許任何其他引數,並且在方法宣告中只允許乙個params 關鍵字。

2、注意項

1、若形參表中含乙個引數陣列,則該引數陣列必須位於形參列表的最後

2、不允許將params修飾符與ref和out修飾符組合起來使用。

3、引數陣列必須是一維陣列。

4、與引數陣列對應的實參可以是同一型別的陣列名,也可以是任意多個與該陣列的元素屬於同一型別的變數。

5、若實參是陣列則按引用傳遞,若實參是變數或表示式則按值傳遞。

static int32 add(params

int32 values)

return

sum;

}public

static

void

main()

public

static

void

main()

);console.read();

}

//編譯後

displaytypes(new

object );

displaytypes(

newobject );

總之就是param就是提示編譯器實現對引數進行陣列封裝,將可變數目的控制由編譯器來完成。

效能其實質其實構造乙個 array 在編譯時確定其長度來 承載可變個數的引數.但效能上並不划算:因為需要額外構造乙個array。

1在堆上分配記憶體

2初始化其元素

3最後還得被**。

1、 一般情況下不要用這種寫法。

2、 除非簡易型的需要,引數型別相同,只是個數可能是1個或多個(兩三個那種,逐個羅列),可以方便使用。如params guid customerids,

需要給人發訊息時,接收人可能是1個或多個。

其實是一種正常傳陣列的偷懶寫法。傳陣列的寫法編譯時比較幹練,效能稍微好點。適用於1個或很多個人。因為不方便逐個羅列每個元素。

元素個數為三五個那種,用params寫起來方便,逐個羅列,如。如receivemessage(「hello」,「張三」,」李四」,」王五」)

1引數和返回值盡量使用介面和基類

顯而易見,可以適用被更多種(派生)型別。

2、大牛博主撞破南牆有一系列的c#基礎高階部落格,可以拓展學習下。

c 中params關鍵字應用

形式為 方法修飾符 返回型別 方法名 params 型別 變數名 如帶有引數的sql 語句,不同的表的字段數量也不同,當你更新修改的時候就可以用。例如 public static datatable getsettable string sql,params sqlparameter values ...

c 中的params 關鍵字

要接受未知數目的引數,可以使用關鍵字params,該關鍵字用於引數列表中,宣告引數列表最後面的值。params關鍵字與陣列一起使用。當值被傳遞給方法時,編譯器首先檢視是否有匹配的方法。如果有,則呼叫該方法 如果沒有,編譯器將檢視是否有包含引數params的方法。如果找到這樣的方法,則使用它。編譯器將...

C 中陣列引數params關鍵字的作用

引數陣列 params 關鍵字可以指定在引數數目可變處採用引數的方法引數。在方法宣告中的 params 關鍵字之後不允許任何其他引數,並且在方法宣告中只允許乙個 params 關鍵字。先定義乙個帶有引數陣列的方法 public void useparams params int list conso...