nedcomp hosting homepage

Producten en Diensten
Dedicated servers
Datacenter informatie
Partners, resellers
Helpdesk informatie
Technische docs, tools
Support homepage
ASP componenten
Praktische ASP, ASP.NET
Visual route server
Whois (domein gegevens)
Software documentatie
Whitepapers
Zoeken
Nedcomp / algemeen

Zoeken
 

Copyright © Nedcomp Hosting
Telefoon nr :   +31 184 670111
Fax nummer :   +31 184 631384
E-mailadres :   info@nedcomp.nl
 

C# Programmer's Reference  

unsafe

The unsafe keyword denotes an unsafe context, which is required for any operation involving pointers.

You can use the unsafe modifier in the declaration of a type or a member. The entire textual extent of the type or member is therefore considered an unsafe context. For example, the following is a method declared with the unsafe modifier:

unsafe static void FastCopy ( byte[] src, byte[] dst, int count )
{
   // unsafe context: can use pointers here
}

The scope of the unsafe context extends from the parameter list to the end of the method, so pointers can also be used in the parameter list:

unsafe static void FastCopy ( byte* ps, byte* pd, int count ) {...}

You can also use an unsafe block to enable the use of an unsafe code inside this block. For example:

unsafe 
{
   // unsafe context: can use pointers here
}

To compile unsafe code, you must specify the /unsafe compiler option. Unsafe code is not verifiable by the common language runtime.

Example

// cs_unsafe_keyword.cs
// compile with: /unsafe
using System;
class UnsafeTest 
{
   // unsafe method: takes pointer to int:
   unsafe static void SquarePtrParam (int* p) 
   {
      *p *= *p;
   }
   unsafe public static void Main() 
   {
      int i = 5;
      // unsafe method: uses address-of operator (&)
      SquarePtrParam (&i);
      Console.WriteLine (i);
   }
}

Output

25

See Also

C# Keywords | fixed Statement | Unsafe Code Tutorial | A. Unsafe code