-1
的預期的值,請看看下面的代碼 -獲取對象
public class Program
{
public static void Main()
{
A ob = new A();
ob.x = 120;
ob.Name = "No";
GO(ob);
Console.WriteLine(ob.x);
}
public static void GO(A obj)
{
obj.x = 50;
obj.Name = "Local";
obj = null;
}
}
在控制檯它打印X 50的值,但是當我使用ref關鍵字它給空引用異常。我的問題是如果對象是引用類型,它應該給予null引用異常,即使我不使用ref。如果不是,那麼控制檯中x的值應該是120.我無法理解這種行爲。請解釋當我們使用ref時和當我們不使用時發生的事情。
你是正確的,但對象作爲引用傳遞即使不使用裁判,這就是爲什麼x的值改爲50,但對象的值沒有設置爲null,控制檯打印50不是120麼?? – VIVEK
檢查修改答案 –
感謝您的回答。我也得到了更好的參考這個-HTTPS://stackoverflow.com/questions/186891/why-use-the-ref-keyword-when-passing-an-object – VIVEK