如何:通过指针访问成员(C# 编程指南)

要访问在不安全的上下文中声明的结构的成员,您可以使用以下示例中所示的成员访问运算符,其中,p 是指向包含成员 x 的结构的指针。

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

示例

此示例声明并实例化了包含两个坐标(x 和 y)的结构 CoOrds。 此示例通过使用成员访问运算符 -> 和一个指向实例 home 的指针为 x 和 y 赋值。

提示

请注意,表达式 p->x 等效于表达式 (*p).x,使用这两个表达式可获得相同的结果。

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

请参见

参考

指针表达式(C# 编程指南)

指针类型(C# 编程指南)

unsafe(C# 参考)

fixed 语句(C# 参考)

stackalloc(C# 参考)

概念

C# 编程指南

其他资源

类型(C# 参考)