您好,登錄后才能下訂單哦!
本篇內容主要講解“C#固定指針是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C#固定指針是什么”吧!
C#固定指針
在語句塊前輸入關鍵字fixed,將會告訴CLR塊內的對象不能重定位,這樣CLR就不會重定位指針指向的數據存儲位置。因此在C#固定指針時,使用關鍵字fixed將能阻止程序運行時無效指針的產生。讓我們看看它是如何工作的:
using System; class CData { public int x; } class CProgram { unsafe static void SetVal(int *pInt) { *pInt=1979; } public unsafe static void Main() { CData d = new CData(); Console.WriteLine("Previous value: {0}", d.x); fixed(int *p=&d.x) { SetVal(p); } Console.WriteLine("New value: {0}", d.x); } }
我們在這段代碼里通過一個fixed塊,將CData對象數據成員(域)x的地址賦給了一個整數型指針p。當fixed塊中的語句被執行時,這個指針p將一直指向原來的那塊內存區域,因為CLR已被指示暫時凍結這個變量直到該fixed塊執行完畢。一旦fixed塊執行完畢,這個對象就又能被CLR 重新定位了。
到此,相信大家對“C#固定指針是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。