4个回答
展开全部
C#是有指针的,没有指针是错误的说法。 unsafe只不过是一个标记,不能将指针看作不安全的,这是极度错误的观点,程序安全与否与程序员的水平有很大关系,指针改用的时候还要用的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
委托类似指针
追问
委托我知道,我说的真正意义上的指针就是用类似于 int * p 那种。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针是非强类型化的,当使用一个指针的时候,指向的不是一个特定的类型,而仅仅是一块内存区。对这个指针进行位移操作,然后向此位置写入,就可能破坏内存,因此称可以直接操作内存的代码为不安全的(unsafe)。
平时我们使用C#,是在托管平台上,这个平台之所以被称为“托管的”,是因为编程人员不再需要为内存的分配、管理和回收做太多的工作,CLR会在内部管理程序的内存。
但是在某些特殊的情况下,如与本地代码或COM+组件交互的时候,可能需要使用指针来传递参数,这时可以配置C#项目属性,使其“允许不安全的代码”,并在不安全的代码块前用unsafe修饰。这样就可以在C#中使用指针。
平时我们使用C#,是在托管平台上,这个平台之所以被称为“托管的”,是因为编程人员不再需要为内存的分配、管理和回收做太多的工作,CLR会在内部管理程序的内存。
但是在某些特殊的情况下,如与本地代码或COM+组件交互的时候,可能需要使用指针来传递参数,这时可以配置C#项目属性,使其“允许不安全的代码”,并在不安全的代码块前用unsafe修饰。这样就可以在C#中使用指针。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |