Pointers for array access C# with Example



Pointers for array access C# with Example

This example demonstrates how pointers can be used for C-like access to C# arrays. 
unsafe 
{ 
var buffer = new int[1024]; 
fixed (int* p = &buffer[0]) 
{ 
for (var i = 0; i < buffer.Length; i++) 
{ 
*(p + i) = i; 
} 
} 
} 
The unsafe keyword is required because pointer access will not emit any bounds checks that are normally emitted 
when accessing C# arrays the regular way. 
The fixed keyword tells the C# compiler to emit instructions to pin the object in an exception-safe way. Pinning is 
required to ensure that the garbage collector will not move the array in memory, as that would invalidate any 
pointers pointing within the array. 

0 Comment's

Comment Form

Submit Comment