- A+
所属分类:.NET技术
1. 使用unsafe
C# 支持 unsafe
上下文,你可在其中编写不可验证的代码。 在 unsafe
上下文中,代码可使用指针、分配和释放内存块,以及使用函数指针调用方法。 C# 中的不安全代码不一定是危险的,它只是其安全性CLR不可验证
unsafe { //代码块 }
2. 修改VS的编译器警告设置
项目-》属性》不安全代码
3.指针执行的运算符和语句
运算符/语句 | 使用 |
---|---|
* |
执行指针间接寻址。 |
-> |
通过指针访问结构的成员。 |
[] |
为指针建立索引。 |
& |
获取变量的地址。 |
++ 和 -- |
递增和递减指针。 |
+ 和 - |
执行指针算法。 |
== 、!= 、< 、> 、<= 和 >= |
比较指针。 |
stackalloc |
在堆栈上分配内存。 |
fixed 语句 |
临时固定变量以便找到其地址。 |
4. 简单使用
unsafe { int a = 1; int* b = &a;//取a变量的地址 int c = a;//取a变量的值 a = 3;//修改a变量的值 Console.WriteLine("b:"+*b);//输出b指指针向的值 Console.WriteLine("c:" + c);//输出c的值 }
5. 执行结果
官网地址:
有兴趣的朋友可以去官网深入学习:不安全代码、数据指针和函数指针 | Microsoft Docs