我不太了解C#引用和指针之间的区别.他们都指向记忆中的一个地方不是吗?我能弄清楚的唯一区别是指针不是那么聪明,不能指向堆上的任何东西,免于垃圾收集,并且只能引用结构或基类型.
我问的一个原因是,有一种观点认为人们需要很好地理解指针(从C,我猜)是一个优秀的程序员.许多学习更高级语言的人都错过了这个,因此有这个弱点.
我只是不知道指针的复杂程度如何?它基本上只是对内存中某个地方的引用不是吗?它可以返回它的位置并直接与该位置的对象进行交互?
我错过了一个重点吗?
你应该在C#代码中使用指针吗?有什么好处?它是由The Man(微软)推荐的吗?
我理解指针,并且很少需要在C#代码中使用它们.我的问题是:在一段代码中明确说明"不安全"的原因是什么.另外,为什么必须更改编译器选项以允许"不安全"代码?
结论: CLR(或语言规范)中的内容使得我们不能随时使用指针(很像C和C++)而不必键入"unsafe"并更改编译器选项?
澄清一下:我知道"不安全"和"安全"的代码是什么.这只是一个问题,为什么我们必须做所有额外的工作(好吧,不是那么多)只是为了能够使用这些功能.