2016-10-18 118 views
0

朋友我已經閱讀了Web上的一些文章,並且知道默認情況下,函數參數是c#中的值類型。有什麼方法可以驗證這一點嗎?默認情況下,函數參數是c#中的值類型

請建議一段代碼或任何Web引用。

+0

既不是,也不是說.NET不是如何工作的。 *類型*是引用或值類型,這意味着它們通過引用或值傳遞。一個字符串是一個引用類型,而'Int32'是一個值類型。您*可以*通過引用使用'ref'關鍵字傳遞值類型,但這不常見 –

+0

@PanagiotisKanavos引用類型[_不通過引用傳遞](http://stackoverflow.com/a/1381887/1401257)! – MAV

+0

@MAV傳遞數據的引用,而不是數據本身。這就是這個問題關於*和*鏈接答案所說的。 –

回答

0

c#中的類型可以是值類型或引用類型。因此,在傳遞參數時,您可以像使用out,array,ref關鍵字那樣僅將變量(值類型)或引用類型傳遞給它。

//Value type 
sum(a,b); 
//reference type 
sum(out a,out b); 

在簡單的話參考變化整個可變的範圍,而對於值類型其功能範圍內被反射。 總之,如果你沒有指定參數的類型(默認),那麼它們是值類型,其他類型則基於類型out或ref,它們是引用類型。

相關問題