-> Operator (C# Reference)

The -> operator combines pointer dereferencing and member access.

Remarks

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.

The -> operator cannot be overloaded.

Example

// 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);
    }
}
/*
Output:
123 456
*/

See Also

Reference

C# Operators

Concepts

C# Programming Guide

Other Resources

C# Reference