-> Operator (C# Reference)

The -> operator combines pointer dereferencing and member access.


An expression of the form,


(where x is a pointer of type T* and y is a member of T) is equivalent to,


The -> operator can be used only in code that is marked as unsafe.

The -> operator cannot be overloaded.


// compile with: -unsafe

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);
123 456

See Also

C# Reference
C# Programming Guide
C# Operators