-> 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

Concepts

C# Programming Guide

Reference

C# Operators

Other Resources

C# Reference

Change History

Date

History

Reason

July 2008

Changed "unmanaged code" to "code that is marked unsafe."

Content bug fix.