第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

C#中的引用類型

C#中的引用類型

慕容3067478 2019-12-26 13:49:26
考慮以下代碼:public class Program{    private static void Main(string[] args)    {        var person1 = new Person { Name = "Test" };        Console.WriteLine(person1.Name);        Person person2 = person1;        person2.Name = "Shahrooz";        Console.WriteLine(person1.Name); //Output: Shahrooz        person2 = null;        Console.WriteLine(person1.Name); //Output: Shahrooz    }}public class Person{    public string Name { get; set; }}顯然,當(dāng)分配person1給person2且Name屬性person2更改時(shí),Nameof person1也將更改。person1并person2具有相同的參考。為什么在時(shí)person2 = null,person1變量也不會(huì)為null?
查看完整描述

3 回答

?
守候你守候我

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊

這兩個(gè)person和person2是引用,同一個(gè)對(duì)象。但是這些是不同的參考。所以當(dāng)你跑步時(shí)


person2 = null;

您僅更改reference person2,而reference person和相應(yīng)的對(duì)象保持不變。


我猜想最好的解釋方法是簡(jiǎn)化圖示。這是以前 的情況person2 = null


如您所見,在第二張圖片上person2沒有引用任何內(nèi)容(或者null嚴(yán)格來說,因?yàn)闆]有引用和引用null是不同的條件,請(qǐng)參見Rune FS的注釋),同時(shí)person仍引用現(xiàn)有對(duì)象。


查看完整回答
反對(duì) 回復(fù) 2019-12-26
?
寶慕林4294392

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊

您已更改person2為引用null,但person1此處未引用。

我的意思是,如果我們看一下person2,并person1指派那么這兩個(gè)引用相同的對(duì)象之前。然后,您指定person2 = null,因此第2個(gè)人現(xiàn)在引用的是其他類型。它沒有刪除person2引用的對(duì)象。


查看完整回答
反對(duì) 回復(fù) 2019-12-26
  • 3 回答
  • 0 關(guān)注
  • 612 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)