您的位置:首页 > 编程语言 > C#

关于C#中 的引用类型需要实例化,值类型不需要实例化的理解

2016-01-18 11:03 429 查看
  引用类型需要实例化,值类型不需要实例化。严格来说,这句话是错误的;粗略来讲,是不准确的。

  值类型的值就是一个具体对象,不需要创建。

  《语言组织中,,,,,,敬请期待》

  所以我最终的理解是:C#是完全面向对象的语言,那么在程序代码中,我们看到的每个变量,它都是对象,不管这个变量是值类型的还是引用类型的;变量有变量名和变量值的之分,类有类定义和具体类对象之分;那么变量名就表示某种类型的对象,但是变量名对象的具体值是什么呢,所以引用类型用new关键字在内存堆中创建创建具体的值(类的对象),并且把该具体值在内存堆中的引用赋值给了变量名对象,值类型也要创建一个具体值给变量名对象,值类型创建具体值的过程,可以用new关键字,也可以不用new关键字,原因我认为是值类型的具体值是具体的,是不需要定义的,就像是数学中的公理,不需要证明,就可以用,也像化学中的原子,不可再分,直接把具体值赋值给变量名对象即可。

  一句话总结:不管是值类型的变量,还是引用类型的变量,他们都表示对象,他们的具体值都需要创建,只是创建的方式不一样,存储在栈中和存储在堆中的区别。就好像面向过程中说的:变量要先定义,再赋初始值,最后才能使用是一个道理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: