Condividi tramite


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

unsafe (Riferimenti per C#)

Istruzione fixed (Riferimenti per C#)

stackalloc (Riferimenti per C#)

Concetti

Guida per programmatori C#

Altre risorse

Tipi (Riferimenti per C#)