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)