亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C# swap ref 的問題

C# swap ref 的問題

C#
慕工程0101907 2018-12-07 02:47:09
   public class DicTestClass { public DicTestClass(int a) { mAA = a; } public int mAA = 0; } public static void SwapRightListItem(ref DicTestClass left, ref DicTestClass right) { DicTestClass temp = null; temp = right; right = left; left = temp; } static void Main(string[] args) { DicTestClass aaa = new DicTestClass(1); DicTestClass bbb = new DicTestClass(2); SwapRightListItem(ref aaa, ref bbb); Console.WriteLine(" aaa:" + aaa.mAA); Console.WriteLine(" bbb:" + bbb.mAA); } 上面的代碼:輸出值是2,1? ?如果全去掉ref? 輸出值是1,2? ? 為什么?? ?class不已經是引用類型了嗎???
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

不加ref的話,你只交換的是SwapRightListItem參數left、right的引用對象,而外面的aaa, bbb的引用對象并沒有改變

查看完整回答
反對 回復 2018-12-24
  • 1 回答
  • 0 關注
  • 771 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號