国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

淺談C#指針問題

2019-10-29 21:33:10
字體:
供稿:網(wǎng)友
在C#中,有時(shí)候希望通過指針來操作內(nèi)存,這樣可以提高效率。我們可以用unsafe關(guān)鍵字修飾含有指針操作的程序段
 

花了很長時(shí)間的實(shí)踐,終于搞清楚了。類或者鏈表等,在指針賦值的時(shí)候,會(huì)使用新的指針。比如:

Foo a = c;Foo b = new Foo();Foo a = b;

這種情況下,會(huì)把b的指針傳給a,a不再指向c,a以后的操作都會(huì)對(duì)b生效。
如下情況下:

Foo b = new Foo();Foo a{get {return b;}}

這種情況下,表示a無法被修改,但是如果你a.bar = 5;的話,那么是可以修改的,為什么呢?因?yàn)榇藭r(shí)任何針對(duì)a的屬性的修改,本質(zhì)上都是對(duì)b的修改,只有a = c;是不可以的。可以簡單理解為a = c;是指針的賦值,而a.bar = 5;只是所指對(duì)象的屬性發(fā)生改變。

綜上所述:

如果你希望a是一個(gè)僅指向b的替身,那么就可以后后面這個(gè)方法了。好處就是,可以隨意修改a的屬性,也就是b的屬性,但是a永遠(yuǎn)會(huì)指向b,不會(huì)被篡改。
如果希望多次使用a,那么只能用第一種方法。但是如果搞不清楚用錯(cuò)的話,會(huì)經(jīng)常不小心修改到原始值。



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到c#教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 灵武市| 镇雄县| 龙里县| 开江县| 顺昌县| 临邑县| 高安市| 开封市| 东丰县| 房产| 孝感市| 平远县| 安阳县| 年辖:市辖区| 泸西县| 邓州市| 余庆县| 乌拉特后旗| 张家川| 九江市| 台南县| 奉贤区| 星子县| 温州市| 济宁市| 陆丰市| 昆山市| 宜兰县| 曲松县| 岳阳县| 汶上县| 扶绥县| 安庆市| 静海县| 梁河县| 西城区| 阜阳市| 二手房| 丁青县| 惠来县| 和龙市|