// Compiler options: -unsafe using System; unsafe class Test { public static unsafe byte* GetFoo () { byte *one = (byte*)1; return 1 + one; } public static unsafe byte* GetFoo2 () { byte *one = (byte*)3; return one + 3; } public static int Main() { int b = (int)GetFoo (); Console.WriteLine (b); if (b != 2) return 1; b = (int)GetFoo2 (); Console.WriteLine (b); if (b != 6) return 2; return 0; } }