.NET中指针类型的使用

////.NET中指针类型的使用

//.NET中指针类型的使用
public static void UseUnsafeCode()
{
//不安全代码修饰符
unsafe
{
const int count = 10;
Byte[] buffer = new byte[count];
//C# 编译器只允许在 fixed 语句中分配指向托管变量的指针
//fixed主要锁定buffer(对象的地址),如果不锁定对象的地址,CRL有可能会可变对象的地址,造成地址的混乱、内存泄漏
//Fixed对象地址锁定符
fixed (Byte* p = buffer)
{
for (int i = 0; i < count; i++)
{
p[i] = (Byte)i;
}
}
Array.ForEach(buffer, x =>
{
Console.WriteLine($"{x}");
});
}
}

  

posted @ 2020-04-03 16:00  谁说程序猿很猥琐  阅读(330)  评论(0编辑  收藏  举报