zoukankan      html  css  js  c++  java
  • 关于C#中 的引用类型需要实例化,值类型不需要实例化的理解

      引用类型需要实例化,值类型不需要实例化。严格来说,这句话是错误的;粗略来讲,是不准确的。

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

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

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

      一句话总结:不管是值类型的变量,还是引用类型的变量,他们都表示对象,他们的具体值都需要创建,只是创建的方式不一样,存储在栈中和存储在堆中的区别。就好像面向过程中说的:变量要先定义,再赋初始值,最后才能使用是一个道理。

  • 相关阅读:
    SVN版本库修改URL路径或者IP地址
    ES-PHP向ES批量添加文档报No alive nodes found in your cluster
    ansible IP
    ansible ansible_os_family == "RedHat" and ansible_lsb.major_release|int >= 6 转为数字比大小
    Centos下Yum安装PHP5.5,5.6,7.0
    centos6.8上yum安装zabbix3.2
    线性筛的理解及应用
    5分钟使用docker搭建一个WordPress
    使用 Docker-Compose 编排容器
    Bootstrap基础
  • 原文地址:https://www.cnblogs.com/qq1186139850/p/5138592.html
Copyright © 2011-2022 走看看