作者tomex (Tomex Ou)
看板C_Sharp
標題[問題] 取得byte陣列的指標?
時間Thu Oct 27 09:52:18 2011
在.NET裏,byte[] bb = new byte[] { 1, 2, 3, 4, 5};
我想要取得bb陣列第3個開始的陣列指標名稱,如:
byte[] b3 = &bb[2]; // 沒這種語法
請問有人知道該如何取得嗎?
一個很長的陣列,
不想讓user得記住第幾個開始才是該資料的位置
想在物件包裝時能有像指標一樣取得一個別名
讓user能直接操作該子陣列...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.250.105.59
※ 編輯: tomex 來自: 111.250.105.59 (10/27 09:56)
1F:→ tomex:其實c#有提供fixed{ *p }來暫時性操作該陣列但我想長存保存 10/27 10:03
3F:→ yeo1987:但是離開fixed了...我不知道會不會發生什麼事情XD 10/27 12:28
4F:→ tomex:頻繁使用fixed也會增加很大的耗能損耗。 10/27 13:10
5F:→ tomex:目前能把該位置轉成IntPtr,但轉回來時必須Copy,就失了原意 10/27 13:11
6F:→ yeo1987:Marshal.AllocHGlobal轉成指標操作呢? 不需fixed跟copy了 10/28 01:16
7F:→ yeo1987:要記得再轉回IntPtr用Marshal.FreeHGlobal釋放 10/28 01:17
8F:→ tomex:我不是要操作,而是想在包裝物件時提供一個別名,user簡化用 10/28 02:09