猿问

C#.NET 值类型和引用类型操作效率的疑问

C#.NET 值类型按照教程说是存在栈上的,而引用类型是存在堆上的

但是C#是面向对象的语言,所以它是靠类和对象来组织程序代码的

而类和对象是引用类型的,是放在堆上的,同时也包括他们内部声明的值类型字段

也就是说除了指向类和对象的指针是放在栈上外,其他东西都在堆上

那么所谓的值类型和引用类型的操作效率之差是如何在C#.NET中体现的呢

肯请各位大大给我解惑,谢谢


天涯尽头无女友
浏览 443回答 2
2回答

慕标5832272

基本类型都是值类型,如int bool double float 而string 虽然是引用类型,却当做值类型来使用。有些对象比较简单,也用值类型来实现 如Color,Point。值类型,每次都要复制其本身,而引用类型只是复制其引用。

动漫人物

值类型因为存储在栈上所有可以直接提取,引用类型存储在堆栈上,需要首先从栈中获取引用地址,然后通过地址提取引用类型存储的信息
随时随地看视频慕课网APP
我要回答