C# 中的引用类型可以替代部分指针的功能, 如果仍需要使用指针, 方法如下:
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); } } |
关键词 | 意义 |
---|---|
unsafe | 表示此函数内部使用了指针 |
fixed | 表示此函数内部的指针被锁定,禁止使用 CLR 重定位技术 |