在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里面是一样的。不说了

你可能感兴趣的:(C#)