Unsafe C# Tutorial

using System;
class MainClass {
    public static unsafe String UnsafeCodeExample(String s) {
        int len = s.Length;
        char[] str = new char[len + 1];
        string stemp = "";
        int nPos = 0;
        fixed (char* sptr = str) {
            // Copy the string in backward
            for (int i = len - 1; i >= 0; --i) {
                sptr[nPos++] = s[i];
                sptr[nPos] = (char)0;
            }
            // Now, copy it back
            for (int i = 0; i < len; ++i)
                stemp += sptr[i];
        }
        return stemp;
    }
    public static void Main() {
        String s = UnsafeCodeExample("This is a test");
        Console.WriteLine("Reversed: {0}", s);
    }
}