C 中命名引數和可選引數

2021-09-22 16:36:06 字數 974 閱讀 7571

呼叫方法時,變數名不需要新增到呼叫中。比如有如下的方法用於移動矩形並在移動之後設定他的寬和高:

public void moveandresize(int x,int y,int width,int height)

有兩種呼叫方式:

moveandresize(10,20,30,40);

moveandresize(x: 10,y: 20,width: 30,height: 40);

第一種方式是常用的也非常簡單,但是從呼叫上看不出來所用引數的含義。

第二種方式採用了命名引數,也就是:引數名 : value 的形式,這種方式可以直觀的體現初始化什麼引數,還可以更改呼叫順序,比如:

moveandresize(y: 20,x: 10,width: 30,height: 40);

但是第二種方式用起來比較繁瑣,實際在編輯器中也有**提示等相關的功能,比如滑鼠放在方法名上,原方法的相關的定義都出現了。

不過命名引數的實際用處在於他和可選引數的結合使用。可選引數:顧名思義,在方法呼叫的時候可以不用給該引數賦值。比如下面的方法有乙個引數:istest,當 istest 為 true 時,進行某些操作:

test(10);

可選引數使用:必須要為該引數設定預設值,而且可選引數必須放在函式引數列表的最後。

命名引數與可選引數的結合使用,比如現在有乙個方法:

public void testm(int a ,int b = 1 , int c = 2, bool d = false , string e = 「test」)

當我呼叫的時候,如果只想用到其中的 a,d 引數怎麼辦?,可以這樣呼叫

將 d 前面的引數全部初始化,其中可選引數用預設值初始化:

testm(2,1,2,true);

使用命名引數:

testm(2,d: true);

注意上面的情況,當有多個可選引數時,命名引數的作用凸顯,可以傳遞任何可選引數而不關心到底有幾個可選引數和他們的順序。

C 可選引數 命名引數

1.可選引數 可選引數是.net4中新新增的功能,應用可選引數的方法在被呼叫的時可以選擇性的新增需要的引數,而不需要的引數由引數預設值取代。classprogram privatestaticstringshowcomputer stringcpu i3 370m stringram 4g stri...

C 可選引數 命名引數

1.可選引數 可選引數是.net4中新新增的功能,應用可選引數的方法在被呼叫的時可以選擇性的新增需要的引數,而不需要的引數由引數預設值取代。class program private static string showcomputer string cpu i3 370m string ram 4...

c 可選引數 命名引數

重新指定分配預設值程式設計客棧的引數程式設計客棧時,可以顯式地為指定引數名稱賦值,隱式指定的時候,是根據方法引數的順序,靠c 編譯器的推斷。示例 複製 如下 void m int x 9,stri程式設計客棧ng s a datetime dt default datetime ma 使用的指導原則...