(C#中实际不存在指针,这里是仿C语言中指针操作进行说明)
1.错误1 “指针和固定大小缓冲区只能在不安全的上下文中使用”
解决方法:在方法前加上unsafe关键字
2.错误2 “不安全代码只会在使用 /unsafe 编译的情况下出现”
解决方法:右键选中资源管理器中项目文件--属性--生成--勾选"允许不安全代码复选框"!
事例代码,取变量a的内存地址并输出:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
unsafe static void Main(string[] args)
{
int a = 100; //声明变量a
int* p = &a; //声明指针变量p,取变量a的内存地址赋值给变量p
string c = Convert.ToString((int)p, 16); //将指针变量p转换为十六进制,string类型变量c
Console.WriteLine(c); //输出c,即变量a的内存地址
Console.ReadLine();
}
}
}