1、默认情况下,C#是不允许不安全代码的,unsafe声明出错。因此首先需要修改设置。


4、unsafe关键字还可以修饰函数,类等。被修鹘埙沃础饰的域将允许不安全代码。如图编写了一个unsafe的函数,传入参数有一个char*指针。另外,如果要获取变量的指针,需要放入fixed语句获取指针。fixed必须在unsafe内部使用,用于固定指针指向的变量,避免运行时环境将变量挪动位置。如图,在fixed语句块中,获取一个指向string类型字符串数据的char*指针,接着调用unsafe的函数修改字符串。

6、如图,C#调用Managed DirectX库的时候,如果要获取比如VertexBuffer的某些指针成员,就必须在unsafe中使用。
