params c到底怎麼用,params c 到底怎麼用?

時間 2022-04-06 16:05:44

1樓:匿名使用者

為了將方法宣告為可以接受可變數量引數的方法,我們可以使用params關鍵字來宣告陣列,如下所示:

public static int32add(params int32 values)

return sum;

}只有方法的最後乙個引數才可以標記params,該引數必須標識乙個一維陣列,但型別不限。對方法的最後乙個引數傳遞null或者0個數目的陣列的引用都是合法的,如下面**呼叫上面add方法,編譯正常,執行正常,和期望一樣結果為0:

public static void main()

下面看一下如何編寫乙個可以接受任意數量、任意型別的引數的方法,也就是把上面方法的int32改成object就可以了:

public static void main()

public static void displaytypes(params object objects)

}輸出:

system.object

system.random

system.string

system.int32

注意,對於可接受可變數量引數的方法的呼叫會對效能造成一定的損失,因為陣列是在堆上分配的,陣列的元素還得初始化,陣列的記憶體還得被垃圾**器**,為了減少這種沒必要的效能損失,我們希望定義幾個沒有params關鍵字的過載方法,如system.string類的concat方法,如下:

public static string concat(object arg0);

public static string concat(params object args);

public static string concat(params string values);

public static string concat(object arg0, object arg1);

public static string concat(string str0, string str1);

public static string concat(object arg0, object arg1, object arg2);

public static string concat(string str0, string str1, string str2);

public static string concat(object arg0, object arg1, object arg2, object arg3);

public static string concat(string str0, string str1, string str2, string str3);

2樓:匿名使用者

params是用來傳多個引數的關鍵字,就是說引數不確定(不止乙個),使用params可以允許多個引數的傳入。

就是官方解釋的這樣,

注意看例子:

讓你用只有乙個形參的方法

public static void useparams(params int list)

傳多個引數

useparams(1, 2, 3);

看你**的cmd.executescalar(),是不是這樣。

你所有的提問,按照你的想法全部手敲一遍,就知道了

3樓:匿名使用者

第一段是用來查詢資料庫的資料,第二段用來執行事務。

4樓:匿名使用者

和我用的貌似是乙個樣子的。。這個還真沒有注意過。。。

這程式裡params是幹什麼用的,c#初學者

5樓:

引數修飾符,表示引數不定長,也就是說你可以放入不同長度的int型vals陣列作為引數。

6樓:匿名使用者

可變引數;

用在函式定義中;放在 引數型別定義前;且引數型別需要是陣列:

比如:定義函式

void demo(stirng par1, params int vals){}

其用處為在呼叫時更為靈活

合法的呼叫,此引數可不傳遞,可傳乙個或多個,也可傳陣列:

demo("試試");

demo("試試",3);

demo("試試",3,4);

demo("試試",3,4,5);

int iarr = ;

demo("試試", iarr);

c#中使用params關鍵字跟使用params關鍵字的區別?給點例項,跪求! 10

7樓:匿名使用者

帶params 表示從params 開始的引數個數不定,但是型別都由params後面的型別限定(這裡的是配合params 一起使用的,不表示引數是陣列)。

而不是params,雖然看起來差不多,但這裡是嚴格要求傳入的引數是陣列,且引數的數量只有乙個。

8樓:包布丁

作為形參沒什麼區別,呼叫的時候會略有區別:

//呼叫不帶params的函式:

a(0,new sqlparameter ); //需要直接作為陣列傳送

//帶params的函式:

b(0,new sqlparameter("para1",1),new sqlparameter("para2",2)); //依次傳送陣列中各個專案

一般陣列引數加上params關鍵字會方便一些。

9樓:匿名使用者

使用上沒太多區別,只是後者會更自由一些,比如有乙個陣列sqlparameter叫ab,另外有兩個單獨的sqlparameter分別為a1和a2,前者不帶params的只能這樣呼叫。

a(a,ab)

而後者可以是

b(a)

b(a,a1,a2)

b(a,ab)

params 是什麼意思,c#裡

10樓:四捨**入

params關鍵字可以指定在引數數目可變處採用引數的方法引數。

在方法宣告中的 params 關鍵字之後不允許任何其他引數,並且在方法宣告中只允許乙個 params 關鍵字。

每個c#函式都允許有個引數帶params關鍵字,在呼叫的時候可以不給他傳值,也可以給他傳值,還可以給他傳多個值。

11樓:墮落魔御

不固定引數,也就是說 引數的維數不固定,你想幾個,就可以幾個,

在獲取引數的地方也相應讀取的就可以了

c#中params關鍵字的作用理解

12樓:匿名使用者

params 建構函式宣告陣列 而不知道陣列長度 用的在方法宣告中的 params 關鍵字之後不允許任何其他引數,並且在方法宣告中只允許乙個 params 關鍵字。

using system;

public class myclass

console.writeline();

}public static void useparams2(params object list)

console.writeline();

}static void main()

;useparams(myarray);}}輸出123

1atest

101112

c#中使用params關鍵字跟使用params關鍵字的區別是什麼?

13樓:久落江邊

**如下:

class program

private static int sum(params int values)  }

實現了乙個sum方法,用於接收一組整數,並返回它們的和。引數values被加上params關鍵字後,在呼叫時可以在實參列表中列舉出這組整數中的每個元素,非常方便。

關於params關鍵字的用法,需要注意以下幾點:

1. params只能用於一維陣列,不能用於多維陣列和諸如arraylist、list等任何類似於陣列的集合型別。

2. 被加上params關鍵字的形參,必須是形參列表中最後乙個形參,並且方法宣告中只允許乙個 params 關鍵字。

3. 用params關鍵字的方法,有三種呼叫形式:

第一種,列舉出陣列各元素:sum(1,2,3),這也是最常用的形式;

第二種,像沒有加params關鍵字的陣列形參那樣,用陣列名做實參:sum(new int)或int n=new int;sum(n);;

第三種,加params關鍵字的引數在呼叫時可以省略:sum();//返回0;這種方式有時可以少定義乙個方法過載,但當明確定義了過載int sum()時,編譯器會優先呼叫int sum(),而不是sum(params int values)。而且省略params型引數,方法內部仍會new乙個元素個數為0的陣列,效率略查。

第四種,不省略params型引數,用null代替,效率比第三種略高,因為其內部不會new這個陣列。

c#中params引數的用法!!!!

14樓:落月

//引數可以為多個int型,例如getword("this is a dag.", 2);返回"a"

//而getword("this is a dag.", 1, 2);則返回"is a"

//getword("this is a dag.", 0, 2);返回"this a"

public string getword(string s,params int n)

return value.trim();

}不知道是不是你想要的。。有問題可以hi我。

15樓:匿名使用者

params

我在資料訪問時用過

public static int executenonquery(string cmmdtext, commandtype cmdtype, params sqlparameter parameters){}

16樓:乁

public string getword(string s,int n)

17樓:

params 建構函式宣告陣列 而不知道陣列長度 用的在方法宣告中的 params 關鍵字之後不允許任何其他引數,並且在方法宣告中只允許乙個 params 關鍵字。

using system;

public class myclass

console.writeline();

}public static void useparams2(params object list)

console.writeline();

}static void main()

;useparams(myarray);}}輸出123

1atest

101112

c# params 用和不用有什麼區別?

18樓:揚璞玉

如果用params可以傳遞指定型別的多個引數(引數不固定),如果不用params,就只能傳遞指定型別的乙個引數了

19樓:匿名使用者

params的引數個數不用固定

蠔油到底怎麼用,蠔油應該怎麼用?

蠔油是日常生活中很常見的一種調味料,它的用途非常廣泛,可以用來烹製多種菜餚,像肉類 蔬菜 各種麵食等等。簡直就是烹飪小能手,葷素皆宜。蠔油裡面含有豐富的微量元素和不同種類的氨基酸,像鋅元素,谷氨酸 牛磺酸等,這些物質不僅可以增強人體免疫力,同時還能夠為人體提供多種保健功能,是缺鋅人士的不二之選。雖然...

現在哈德森到底該怎麼用

哈德森已經不是以前那個無所不能的哈德森了,本賽季哈德森場均上場時間僅為34.7分鐘,這是他自加盟遼寧隊以來第二低的出場時間,而得分僅僅為24.2分,在cba得分榜上排不到前30。郭士強在使用哈德森時也動了一些腦筋,畢竟哈德森34了,對於乙個小外援來說這樣的年紀不可能再像亞當斯 福特森那樣大包大攬了。...

華為pay到底怎麼用,華為支付怎樣用?

以華為 p20手機為例 操作步驟 1 開始,先在手機的桌面上找到應用程式 錢包 圖示,點選進入新的操作介面。2 然後,進入到錢包的操作介面後,找到 我的 選項,點選開啟。3 進入到我的的操作介面後,找到 付款與賬單 選項,點選開啟。4 在付款與賬單頁面,點選 銀行卡 選項,進項綁卡。5 進入到綁卡介...

冒險島貝貝到底怎麼用

別使用眩暈和冰凍的技能這樣也會掉的!還有只開無敵 原地 加藍 就可以了!其他的不開!掉了會不會出現冒險島營運員?如果有可能你被檢測了,如果你的掛是買的要向賣你掛的人求助。如果不是的話去搜防被檢測的軟體。掛機的方式不對 你是什麼職業?如果樓主是在92yoyo下的貝貝 那麼是要付費的,30元乙個月,10...

js中promise到底怎麼用,nodejs中promise怎麼用

簡單來講,then 方法就是把原來的 寫法分離出來,在非同步操作執行完後,用鏈式呼叫的方式執行 函式。而 promise 的優勢就在於這個鏈式呼叫。我們可以在 then 方法中繼續寫 promise 物件並返回,然後繼續呼叫 then 來進行 操作。js中的promise主要是解決,函式層層巢狀引起...