Gewusst wie: Zugreifen auf einen Member mit einem Zeiger (C#-Programmierhandbuch)How to: Access a Member with a Pointer (C# Programming Guide)

Um auf einen Member einer Struktur zuzugreifen, die in einem unsicheren Kontext deklariert ist, können Sie den Memberzugriffsoperator verwenden, wie im folgenden Beispiel gezeigt. Dabei ist p ein Zeiger auf eine Struktur, die den Member x enthält.To access a member of a struct that is declared in an unsafe context, you can use the member access operator as shown in the following example in which p is a pointer to a struct that contains a member x.

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

BeispielExample

In diesem Beispiel wird die Struktur CoOrds deklariert und instanziiert, die die beiden Koordinaten x und y enthält.In this example, a struct, CoOrds, that contains the two coordinates x and y is declared and instantiated. Mithilfe des Memberzugriffsoperators -> und eines Zeigers auf die Instanz home werden x und y Werte zugewiesen.By using the member access operator -> and a pointer to the instance home, x and y are assigned values.

Hinweis

Beachten Sie, dass der Ausdruck p->x und der Ausdruck (*p).x äquivalent sind. Sie erhalten dasselbe Ergebnis, unabhängig davon, welchen Ausdruck Sie verwenden.Notice that the expression p->x is equivalent to the expression (*p).x, and you can obtain the same result by using either of the two expressions.

// 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 );
        }
    }
}

Siehe auchSee Also

C#-ProgrammierhandbuchC# Programming Guide
ZeigerausdrückePointer Expressions
ZeigertypenPointer types
TypenTypes
unsafeunsafe
fixed-Anweisungfixed Statement
stackallocstackalloc