标签:可变 内存 unsafe arp buffer byte i++ 内存泄漏 each
////.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}"); }); } }
标签:可变 内存 unsafe arp buffer byte i++ 内存泄漏 each
原文地址:https://www.cnblogs.com/hnzheng/p/12627018.html