今天又遇到這個問題了,問了問同僚,他說最近面試的時候,也問道他了,于是給我講了講,現在大概是記住了,記錄下來,以備自用。
首先是看下面的code例子
string b="bb";
Public void A(ref b)
{
//to do
}
string d;
Public void C(out d)
d="jjjjj";
// to do
方法A是引用參數b但是b必須先定義并且在方法之前進行初始化,在引用的時候就像一般方法處理即可;方法B是先定義變量d此時不需要初始化,在引用此變量的方法中需要進行初始化,然後可在方法内做任何操作,個人了解方法C等同于下列代碼:
Public string C(string d)
d="ddd";
return d;
所有out是在傳進未初始化的參數後在内部做一定的處理,并傳回定義的類型。ok game over!
本文轉自shenzhoulong 51CTO部落格,原文連結:http://blog.51cto.com/shenzhoulong/677047,如需轉載請自行聯系原作者