值引數:
當利用值向方法傳遞引數時,編譯程式給實參的值做乙份拷貝,並且將此拷貝傳遞給該方法,被呼叫的方法不會修改記憶體中實參的值,所以使用值引數時,可以保證實際值是安全的,在呼叫方法時,如果形式化引數的型別是值引數的話,呼叫的實參的表示式必須保證是正確的值表示式
publicclass class1
static voidmain()
,",i,j);}}
輸出結果為1,2
引用型引數:
引用型引數,並不開闢新的記憶體區域,當利用型引數向方法傳遞形參時,編譯程式將實際值在記憶體中的位址,傳遞給方法;在方法中,引用型引數通常已經初始化
publicclass class1
static voidmain()
,",i,j);}}
輸出結果分別為2,1
輸出引數:
當形參為輸出引數時,方法呼叫中的相應引數必須由關鍵字out,變數在可以作為輸出引數傳遞之前不一定需要明確賦值,但是在將變數作為輸出引數傳遞的呼叫,out修飾符後應跟隨與形參的型別相同的型別宣告,在方法返回後,傳遞的變數被認為經過了初始化
class program
i--;
}dir
= path.substring(0, i);
name = path.substring(i);
}static void main(string args)
}輸出結果:
c:\windows\system\
hello.txt
陣列型引數:
以params修飾符宣告。params關鍵字用來宣告可變長度的引數列表。方法宣告中只能包含乙個params引數
如果形參表中包含了陣列型引數,那麼它必須在參數列中位於最後,另外,引數只允許是一維陣列,比如,string和string型別都可以作為陣列型引數,而string[,]則不能,最後,陣列型引數不能再有ref和out修飾符
class program
elements:",args.length);
foreach (int i in args)
console.write("",i);
console.writeline();
}static void main(string args)
;f(arr);
f(10,20,30,40);
f();
console.readline();}}
輸出:array
contains 3 elements: 1 2 3
array
contains 4 elements: 10 20 30 40
array
contains 0 elements:
C 中方法引數的四種型別
c 中方法的引數有四種型別 值引數 不含任何修飾符。方法中的形參是實參的乙份拷貝,形參的改變不會影響到記憶體中實參的的值,實參是安全的。引用引數 以ref修飾符宣告。傳遞的引數實際上是實參的指標,所以在方法中的操作都是直接對實參進行的,而不是複製乙個值 可以利用這個方式在方法呼叫時雙向傳遞引數 為了...
C 中方法引數的四種型別
c 中方法的引數有四種型別 值引數 不含任何修飾符。方法中的形參是實參的乙份拷貝,形參的改變不會影響到記憶體中實參的的值,實參是安全的。引用引數 以ref修飾符宣告。傳遞的引數實際上是實參的指標,所以在方法中的操作都是直接對實參進行的,而不是複製乙個值 可以利用這個方式在方法呼叫時雙向傳遞引數 為了...
C 中四種引數傳遞
using system using system.data using system.configuration using system.web using system.web.security using system.web.ui using system.web.ui.webcontro...