與所有的 out 引數一樣,在使用陣列型別的out引數前必須先為其賦值,即必須由接受方為其賦值。例如:
public static void mymethod(out int arr)與所有的 ref 引數一樣,陣列型別的ref引數必須由呼叫方明確賦值。因此不需要由接受方明確賦值。可以將陣列型別的ref引數更改為呼叫的結果。例如,可以為陣列賦以null值,或將其初始化為另乙個陣列。例如:
public static void mymethod(ref int arr)下面的兩個示例說明out和ref在將陣列傳遞給方法上的用法差異。
示例 1
在此例中,在呼叫方(main
方法)中宣告陣列myarray
,並在fillarray
方法中初始化此陣列。然後將陣列元素返**用方並顯示。
//cs_array_ref_and_out.cs
using
system;
class
testout ;}
static
public
void
main() }輸出
array elements are:12345示例 2
在此例中,在呼叫方(main
方法)中初始化陣列myarray
,並通過使用ref引數將其傳遞給fillarray
方法。在fillarray
方法中更新某些陣列元素。然後將陣列元素返**用方並顯示。
//cs_array_ref_and_out2.cs
using
system;
class
testref
static
public
void
main ()
; //pass the array using ref:
fillarray(
refmyarray);
//display the updated array:
console.writeline(
"array elements are:");
for(
inti =0
; i
<
myarray.length; i
++)
console.writeline(myarray[i]);}}
輸出
array elements are:123234
1024
C 使用ref和out傳遞陣列
c 使用ref和out傳遞陣列 一 使用ref引數傳遞陣列 陣列型別的ref引數必須由呼叫方明確賦值。因此,接受方不需要明確賦值。接受方陣列型別的ref引數能夠修改呼叫方陣列型別的結果。可以將接受方的陣列賦以null值,或將其初始化為另乙個陣列。請閱讀引用型引數。示例 在呼叫方法 main方法 中初...
ref和out 傳遞引數 C
1.引數傳遞預設都是傳遞棧空間裡面儲存的內容 2.如果新增了ref那麼傳遞的都是棧空間位址,而不再是棧空間裡面的內容 3.如果新增了out,那麼傳遞的也是棧空間的位址 1 寫乙個方法計算乙個int型別陣列中每個元素的總和以及最大值和最小值 2 3 4 5 6 7static void gatvalu...
使用ref和out引數
ref型別引數側重修改,out型別引數側重輸出 ref在傳入值之前必須先初始化 out在函式內,函式結束之前,即傳出值之前初始化.eg protected void page load object sender,eventargs e int indexref 1 testref ref inde...