C 中的out,ref,params的用法講解

2022-04-12 06:36:31 字數 1019 閱讀 8463

方法呼叫語句

在編寫程式的過程中,經常要進行方法呼叫,而呼叫方法時最關鍵的就是引數的使用。在c#語言中,方法只能返回乙個值,要從方法中獲取多個輸出值,則只能通過引數來進行。但是,在通常的引數傳遞中,只有引用型別的引數才能實現這種功能,而對於值型別的引數,當從方法退出後,引數的值也就不再有意義。因此c#語言提供了ref、out兩種新的引數宣告方式,另外,還提供了parmas引數宣告方式來說明變長引數列表。

一、 ref引數宣告方式

在引數宣告中使用ref關鍵字可以使方法趕接引用傳遞給它的變數,這樣方法中的操作都是直接針對傳遞給它的變數進行的,而不是乙個複製的值。因此,可以使用這種方式在方法呼叫時來雙向傳遞變數。

為了以ref方式使用引數,必須在方法宣告和方法呼叫中明確指定ref關鍵字,並且變數在傳遞給方法前必須進行初始化。如下列**:

… public class myclass … public static void main() }

二、 out引數宣告方式 out關鍵字的使用方式和作用與ref關鍵字基本相同,也是使用方法直接引用傳遞給它的變數,並且對引數的修改都直接作用到對應的變數上。使用者可以使用這種引數方式從方法中輸出多個值。同樣,這種方式要西遊記在方法宣告和方法呼叫時都必須明確的指定out關鍵字。out引數宣告方式不要求變數傳遞給方法前進行初始化,因為它只是用於輸出。但是,在方法返回前,必須對out引數進行賦值。如下面的例子: … public class myclass   …   public stati c void main()   ,」,x,y);    }  }

三、 params引數宣告方式 params關鍵字用於宣告可變長度的引數列表。注意,在方法宣告中,params引數後面不能再有其它引數,並且方法宣告中只能包含乙個params引數。下面的**演示了params引數的用法: using system; public class myclass  public static void useparams2(params object list)    public static void main()  ;   useparams(myarray); }  }

C 中的out ref params詳解

out引數 如果你在乙個方法中,返回多個相同型別的值的時候,可以考慮返回乙個陣列。但是,如果返回多個不同型別的值的時候,返回陣列就不行了,那麼這個時候,我們可以考慮使用out引數。out引數就側重於在乙個方法中可以返回多個不同型別的值。ref引數 能夠將乙個變數帶入乙個方法中進行改變,改變完成後,再...

C 高階引數(out ref params)

用途 方法可以同時返回多個不同型別的值 注意 必須在方法內賦值 private void outtest private bool islogin string name,string pwd,outstring msg,outint balance msg 登陸失敗!balance 0 retur...

C 中的long與C 中的long

微軟很厲害,c 是非常優秀的計算機語言,c 比c 還厲害,c c 本身不就包含四個 號嗎?而微軟發明了c c 中的long比c 中的long要long兩倍!不信你看 我正在使用.net寫乙個預約排隊的程式,因為一前通過vc編寫了乙個用於顯示登記資訊的控制項,現在使用c 重新預約程式,則必然要呼叫vc...