Unsafe is a compiler instruction that there will be pointers in this context. From MSDN
In a common language environment (CLR), unsafe code is called unchecked code. Insecure C # code is not necessarily dangerous; it is just code whose security cannot be verified using the CLR . The CLR will therefore only execute unsafe code if it is in a fully trusted assembly. If you use unsafe code, you are responsible for ensuring that your code does not pose a security risk or pointer error.
I used it with .net 1.1 when using the C ++ API in C #, which used to talk to mainframes via the PC COM port :)
source share