public class Test
{
public string Name;
public void CallFunctionByObjectRef(Test a)
{
a.Name = "BCD";
a = null;
}
public void CallFunctionByObjectRefTORef(ref Test a)
{
a.Name = "BCD";
a = null;
}
}
class Program
{
static void Main(string[] args)
{
Test test = new Test();
test.Name = "ABC";
test.CallFunctionByObjectRef(test);
Test test1 = new Test();
test1.Name = "ABC";
test1.CallFunctionByObjectRefTORef(ref test1);
Console.WriteLine(test.Name);
Console.WriteLine(test1.Name);
Console.Read();
}
}
在上面調用了兩個函數(使用ref關鍵字,通過對象)。我從他們得到不同的輸出。 但是類對象默認通過引用,爲什麼我得到不同的輸出。通過c中的ref關鍵字調用類對象#
都能跟得上了解更多。參數默認情況下總是按值傳遞。問題是,對於引用類型,被複制和傳遞的值是引用。 – MarcinJuraszek 2014-09-21 06:35:09
作爲輸出得到什麼? – mdebeus 2014-09-21 06:38:47
以下是關於該主題的精彩閱讀 - http://www.yoda.arachsys.com/csharp/parameters.html – 2014-09-21 06:43:16