Using the unsafe keyword. : unsafe « unsafe « C# / CSharp 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);
    }
}








36.1.unsafe
36.1.1.Unsafe Code
36.1.2.Compile unsafe code
36.1.3.Using unsafe and fixed
36.1.4.Mark method as unsafe to pointers
36.1.5.Accessing Structure Members with a Pointer
36.1.6.Unsafe Methods
36.1.7.Using the unsafe keyword.
36.1.8.unsafe block