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.
Nota |
---|
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#)
fixed (Instrucción, Referencia de C#)