unsafe开启对不安全代码的支持(及可以像c\c++ 那样使用指针)
示例Demo:
namespace ConsoleApplication
{
public struct MyStruct
{
public int a;
public int b;
}
class Program
{
static unsafe void Main(string[] args)
{
MyStruct ms = new MyStruct();
//获取MyStruct的首地址
Console.WriteLine((uint)&ms);
//获取值类型的大小
Console.WriteLine(sizeof(MyStruct));
//在堆栈上分配内存空间
int* p = stackalloc int[10];
*p = 100;
Console.WriteLine("*p={0}", *p);
Console.ReadLine();
}
}
}C#编译器提供了/unsafe开关来控制是否允许对unsafe关键字的代码进行编译
本文介绍了C#中unsafe关键字的用法,通过示例展示了如何使用指针操作内存,包括获取结构体首地址、获取类型大小及在堆栈上分配内存。
3431

被折叠的 条评论
为什么被折叠?



