我有一些困惑與引用類型下面是測試例子 請告訴我它是如何工作的C#引用類型的行爲
class TestClass
{
public int i = 100;
}
class MyTestClass
{
public void Method()
{
int i = 200;
var testClass = new TestClass();
testClass.i = 300;
Another(testClass, i);
Console.WriteLine("Method 1:" + testClass.i);
Console.WriteLine("Method 2:" + i);
}
public void Another(TestClass testClass, int i)
{
i = 400;
testClass.i = 500;
testClass = new TestClass();
//If we have set here again testClass.i = 600; what should be out putin this case
Console.WriteLine("Another 1:" + testClass.i);
Console.WriteLine("Another 2:" + i);
}
public static void Main()
{
MyTestClass test = new MyTestClass();
test.Method();
Console.ReadLine();
}
}
** *編輯* ** * ** 應該輸出什麼,以及該對象的數量是多少倍tClass()將在執行期間創建。
@Timwi:更新。現在好點了嗎? – 2010-10-01 21:22:08
如果我在 之後設置了我的值testClass = new TestClass(); 另一個()方法中的testClass.i = 600,在這種情況下應該輸出什麼? – Vijjendra 2010-10-01 21:24:34
@Vijjendra:哪個「我」?局部變量或testClass的成員? (PS:對於解釋的目的來說,將不同的變量稱爲不同的名稱是有用的,你有三種不同的東西,都稱爲「i」。) – 2010-10-01 21:26:44