Passing Pointers as Parameters to Methods C# with Example



Passing Pointers as Parameters to Methods C# with Example

You can pass a pointer variable to a method as parameter. The following example illustrates this: 
using System; 
namespace UnsafeCodeApplication 
{ 
class TestPointer 
{ 
public unsafe void swap(int* p, int *q) 
{ 
int temp = *p; 
*p = *q; 
*q = temp; 
} 
public unsafe static void Main() 
{ 
TestPointer p = new TestPointer(); 
int var1 = 10; 
int var2 = 20; 
int* x = &var1; 
int* y = &var2; 
Console.WriteLine("Before Swap: var1:{0}, var2: {1}", var1, var2); 
p.swap(x, y); 
Console.WriteLine("After Swap: var1:{0}, var2: {1}", var1, var2); 
Console.ReadKey(); 
} 
} 
} 
When the above code is compiled and executed, it produces the following result: 
Before Swap: var1: 10, var2: 20 
After Swap: var1: 20, var2: 10 
 

create a Union type (Similar to C Unions) 

0 Comment's

Comment Form

Submit Comment