fnhp.net
当前位置:首页 >> C#有指针吗 >>

C#有指针吗

有,不过最好不要使用,因为指针不安全 在C#中的delegat已经就算是等于C++中的指针了

C# 有指针 用法如下 unsafe { byte[] data = new byte[4] { 1, 2, 3, 4 }; fixed (byte* p = data) { byte* pCur = p; for (int i = 0; i { *pCur = (byte)(*pCur * 10); pCur++; } } } 需要在项目选项中勾选:启用不安全代码

c#里面当然有指针,只是一般使用的少,大部分只在底层库内使用使用指针的方法要加上unsafe而且项目也要加上unsafe修饰才能编译

C#中是没有指针概念的

c#里面没有指针的使用,可以使用委托来达到这个效果.

有啊不过需要用unsafe{}包起来unsafe{ int* p1, p2; //TODO:}指针只能是预设类型,不能是引用类型'*'紧跟类型,一词定义的全是指针还有一些其他的注意事项,可以去学习一下.如果不是必须,尽量避免使用指针

c#和c c++ 不同没有指针不过在c#中可以用引用来进行操作,其实也跟指针差不多只是在c#中更加安全.

没有指针,因为指针不安全,如你假设有个类是A ,你初始化的时候A *a=new A();这个时候的 a要在最后删除既delete a;这样麻烦.如果没有delete那样就会泄露内存,因此C#仿照Java,不用指针,而是引用,看不到的

简单地说指针就是指向变量和对象的地址. 指针的用途非常广泛,比如如果想通过函数改变一个变量的值,就得用指针而不能用值传递.还有在很多时候变量,特别是对象的数据量实在太大,程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率. 以上还只是指针的初步应用,随着在C++学习上的逐步深入,会发现更多的用途的.

类都是引用类型的,其实都是指针class sample{};sample a=new sample();sample b;b=a;现在这两个都是指向同一内存地址.如果相对值类型(基本数据类型等)使用指针要用unsafe关键字.unsafe void fun(){ 用法与c语言基本一致}另外还要在工程设置中开启允许不安全代码记得是在解决方案管理器里面那个工程设置下的调试选项卡里

网站首页 | 网站地图
All rights reserved Powered by www.fnhp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com