Procedura: accedere a un membro mediante un puntatore (Guida per programmatori C#)
Per accedere a un membro di una struttura dichiarata all'interno di un contesto unsafe, è possibile utilizzare l'operatore di accesso ai membri come illustrato nell'esempio seguente in cui p è un puntatore a una struttura contenente la coordinata x del membro.
CoOrds* p = &home;
p -> x = 25; //member access operator ->
Esempio
Nell'esempio riportato di seguito viene dichiarata un oggetto struttura, CoOrds, che contiene le due coordinate, x e y, e viene creata un'istanza di tale oggetto.Utilizzando l'operatore di accesso ai membri -> e un puntatore all'istanza home, vengono assegnati i valori a x e y.
[!NOTA]
L'espressione p->x è equivalente a (*p).x ed è possibile ottenere lo stesso risultato utilizzando una delle due espressioni.
// 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 );
}
}
}
Vedere anche
Riferimenti
Espressioni puntatore (Guida per programmatori C#)
Tipi di puntatori (Guida per programmatori C#)
Istruzione fixed (Riferimenti per C#)
stackalloc (Riferimenti per C#)