1
爲什麼這個程序輸出是「1」。但它應該給出「空引用異常」,因爲我在xyz()方法中將其設置爲null。爲什麼下面提到的程序不會給出空引用異常?
static void Main(string[] args)
{
A a = new A();
B b = new B();
b.xyz(a);
Console.WriteLine(a.x);
Console.ReadKey();
}
class A
{
public int x = 1;
}
class B
{
public void xyz(A a)
{
a = null;
}
}
但是默認情況下,類對象通過引用傳遞。爲什麼我們需要通過「ref」設置? – user3177199
@ user3177199:它們不是通過引用*傳遞的,而是它們是通過值*傳遞的引用。這是一個重要的區別。 – Jon
確定thx的幫助 – user3177199