C#使用指针

很多人将C#和Java进行比较的时候,认为C#支持指针是C#的一个特点。我的个人观点认为任何事务应该一分为二的看,有利必然有弊。关于支持指针是好还是不好,不同的人有不同的看法,这个讨论很多。我们在此仅仅是讨论如何在C#中使用指针,并不是讨论它的利弊。

1、修改工程配置

工程中默认的配置是不支持代码的非安全性的,如果我们想使用指针就要修改这个默认的设置。否则我们在编译的时候就会出现“不安全代码只会在使用/unsafe编译的情况下出现”。具体的设置如下图所示。


2、定义非安全代码
在C#中如果想使用指针就需要将代码定义为unsafe。unsafe是C#中的一个关键字,我们可以将一个类、一个方法、代码块或者字段标记为unsafe。剩下的工作就和在其它语言中使用指针相同了。下面是一个使用指针的代码演示。

        //将方法声明为非安全
        public unsafe void Test()
        
{
            
int i=10;
            
int k;
            
//定义指针
            int *j;
            
//给指针赋值
            j=&i;
            
//取的指针的值            
            k=*j+1;
            MessageBox.Show(k.ToString());
        }

posted @   94cool  阅读(189)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示