在C#里面使用指针

虽然C#里面使用指针会导致无法通过CLR的内存类型安全检查,也会使代码难以编写和调试,但是使用指针可以起到向后兼容,以及加强性能的作用。

C#里面,当你要在一个代码块里使用指针的时候,需要使用unsafe关键字。

// 标记一个方法为unsafe

unsafe int GetSomeNumbers()
{
    // 这里的代码可以使用指针
}

任何方法,任何类,任何类成员都可以标记为unsafe。甚至一个方法中的一块代码也可以标记为unsafe.

void MyMethod()
{
     unsafe
         {
            // 这段是不安全代码,可以使用指针
          }
}

唯一需要注意的是,局部变量本身不能标记为unsafe. 这个就是说方法里面定义的变量不能标记为unsafe了。

int MyMethod()
{
     unsafe int *px;  // 这是不对的
}

编译包含不安全代码的文件要使用下面的命令:

csc /unsafe MySource.cs

或者

csc -unsafe MySource.cs

更多关于指针的知识,C#里面和C里面是一样的。不说了

伪python爱好者,正宗测试实践者。
原文地址:https://www.cnblogs.com/herbert/p/1751644.html