Compartir a través de


Cómo: Obtener acceso a un miembro con un puntero (Guía de programación de C#)

Para tener acceso a un miembro de un struct que se declara en un contexto no seguro, puede utilizar el operador de acceso a miembros, como se muestra en el ejemplo siguiente en el que p es un puntero a una struct que contiene un miembro x.

CoOrds* p = &home;
p -> x = 25; //member access operator ->

Ejemplo

En este ejemplo, se declara una struct, CoOrds, que contiene dos coordenadas x e y y se crean instancias de la misma. Utilizando el operador de acceso a miembros -> y un puntero a la instancia home, se asignan valores a x e y.

NotaNota

Observe que la expresión p->x es equivalente a la expresión (*p).x y se puede obtener el mismo resultado utilizando cualquiera de las dos expresiones.

// compile with: /unsafe
struct CoOrds
{
    public int x;
    public int y;
}

class AccessMembers
{
    static void Main() 
    {
        CoOrds home;

        unsafe 
        {
            CoOrds* p = &home;
            p->x = 25;
            p->y = 12;

            System.Console.WriteLine("The coordinates are: x={0}, y={1}", p->x, p->y );
        }
    }
}

Vea también

Referencia

Expresiones de puntero (Guía de programación de C#)

Tipos de puntero (Guía de programación de C#)

unsafe (Referencia de C#)

fixed (Instrucción, Referencia de C#)

stackalloc (Referencia de C#)

Conceptos

Guía de programación de C#

Otros recursos

Tipos (Referencia de C#)