Unsafe Code in C#


As you know, a Pointer is a variable which holds the address of another variable. If we want to use a pointer in C# then we use the  "unsafe" keyword for that purpose. Unsafe code is code which does not executed under the full management of common language runtime (CLR). It can cause some problems therefore each use must be marked as "unsafe". Unsafe code is also known as unmanaged code because it is not execute under the full management of CLR. There are two types of code in C#, Which are as follows:

  • Manages code
  • Unmanaged code

Managed Code : The code which is executed under the full management of CLR, is called managed code. Managed Code include programmers convenience and enhanced security .

Unmanaged code : The code which does not executed under the full management of common language runtime (CLR), is called unmanaged code. We can say unmanaged code is directly executed by the computer's CPU.

To set the compiler option in the Visual Studio development environment

image1.gif

OR

image2.gif

When we run the the program then there will be an error corresponding to unsafe code. For remove this error we go to application properties.

image3.gif

Now we will go to build option and check the Allow unsafe code.

image4.gif

Run application (Press F5).

image5.gif

To set compiler option programmatically

First of all we write the program on notepad then save in any drive with name "unsafe.cs".

When we compile this program then we write "csc/unsafe unsafe.cs".

image6.gif

Summary

So unsafe code is unmanaged code i.e. which does not execute under full management of CLR. We can say that, when we want use of pointer in C# then we will use unsafe keyword.


Similar Articles