Pointers in C# [ -> Operator Reference ]

The -> operator combines pointer dereferencing and member access.

An expression of the form,
x->y
(where x is a pointer of type T* and y is a member of T) is equivalent to,
(*x).y

The -> operator can be used only in code that is marked as unsafe(msdn link).
The -> operator cannot be overloaded.


// compile with: /unsafe
//To compile unsafe code, you must specify the /unsafe compiler option. 
//Unsafe code is not verifiable by the common language runtime. 
struct Point
{
    public int x, y;
}

class MainClass12
{
    unsafe static void Main()
    {
        Point pt = new Point();
        Point* pp = &pt;
        pp->x = 123;
        pp->y = 456;
        Console.WriteLine("{0} {1}", pt.x, pt.y);
    }
}
/*
Output:
123 456
*/


More references about unsafe and c# helpful keywords are below... (source :msdn)

Comments

Popular posts from this blog

Brother printer password reset using telnet

How to adjust the brightness in Samsung 19" SyncMaster SA100 LED monitor?

Samsung SA100 Monitor Brightness Adjustment Tool