- 最後登錄
- 2024-4-25
- 在線時間
- 3177 小時
- 註冊時間
- 2004-8-20
- 閱讀權限
- 20
- 精華
- 0
- UID
- 12056
- 帖子
- 475
- 積分
- 967 點
- 潛水值
- 31609 米
| 本帖最後由 baepi 於 2016-10-14 12:44 PM 編輯
各位大大好~我是一個由C++轉戰C#的菜鳥
在C++裡~我常用到一個指標指定陣列的某一個值...如下例子
- void main()
- {
- int *a = NULL;
- int b[10];
- a = &b[2];
- }
複製代碼 而在C#當然也有如法炮製...如下- public unsafe void test()
- {
- int* a = null;
- int[] b = new int[10];
- a = &b[2];
- }
複製代碼
只是如此...則會出現錯誤CS0212: 您只能取得 fixed 陳述式初始設定式中 unfixed 運算式的位址
恩~老實說我不明白怎麼解決這個錯誤~期望有高人能指導我怎麼解決這問題或是教學別的方法可以做到類似這樣的功能皆可~~~在此先感謝各位先進
終於在網路上爬到解答~雖然感覺很脫褲子放屁~但是至少這方法可以達成我的需求
- public unsafe void test()
- {
- int *a = null;
- int[] b = new int[10];
- fixed( int *c = &b[2] )
- {
- a = c;
- }
- }
複製代碼
這樣就可以達成和我預期一樣的成果了
... |
|