指针是一个无符号整数,它是一个以当前系统寻址范围为取值范围的整数,CLR支持3种指针类型:受托管指针,非托管指针和非托管函数指针。受托管指针存储在堆上的托管快的引用,非托管指针也就是指传统意义上的指针,在C#中必须要放在unsafe代码块中使用指针。
& 寻址运算符,它表示取地址,并把一个值数据类型转换为指针。
* 间接寻址运算符 它表示获取地址的内容,把一个指针转换为值数据类型。
unsafe static void Main( )
{
int *pi; //初始化状态 *pi为0X00000000
int x = 4;
pi = &x;
System.Console.WriteLine("x的值是:" + *pi);
}
将项目属性页中生成下的“允许不安全代码”复选框打上对勾即可,方法如下:项目属性对话框->生成->允许不安全代码块 选中即可。
C#中指针类型不继承object,并且指针类型与object之间不存在转换,此外装箱和取消装箱也不支持指针。但是,C#允许在不同指针类型之间以及指针类型与整型之间进行转换。
C#中指针
最新推荐文章于 2024-07-10 17:42:39 发布