C#值类型与引用类型

值类型

存储的是实际的数据值。

C#的值类型,包括整数型、实数型、逻辑型、字符型、枚举、结构等。

引用类型

本身不存储数据值,存储对这些实际数据的引用,也就是地址。

区别

值类型,当一个数值保存到一个值类型数据中以后,该数值将被赋值到值类型的变量中。

引用类型,当一个数值被赋值到一个引用类型时,只是引用,也就是保存变量的地址被赋值,而实际值仍然保留在原内存地址。

C#的引用类型主要包括

class——类类型

string——字符串类型

[]——数组类型

interface——接口类型

delegate——委托类型

注意,字符型是值类型,字符串类型是引用类型。

字符串类型

是一种最简单的引用类型,本身相当于多个字符类型数据构成的集合。

字符串类型可以存储包含大小写英文字母、汉字、数字和特殊符号的转义符等多种字符。

声明与初始化

声明:声明一个字符串类型的数据,就是在内存中创建一个空的引用关系。

初始化:初始化一个字符串类型的数据,相当于引用多个字符类型的数据。

通常在书写字符串类型数据时,需要在字符串的两侧加上双引号“”。

注意

相对于JScript、JavaScript等弱类型编程语言不同,在C#中字符串类型数据只能以上引号" "标识,而字符型数据只能以单引号 ' ' 标识,这两种引号不能嵌套使用。

C#值类型与引用类型相关推荐

  1. 述说C#中的值类型和引用类型的千丝万缕

    关于值类型和引用类型方面的博客和文章可以说是汗牛充栋了,今天无意中又复读了一下这方面的知识,感觉还是有许多新感悟的,就此时间分享一下: CLR支持两种类型:值类型和引用类型,看起来FCL的大多数类型是 ...

  2. Java值类型与引用类型的不同

    [定义] 引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值,那么调用这个方法是传入的变量的值也将改变. 值类型表示复制一个当前变量传给方法,当你 ...

  3. php引用类型变量,PHP变量的值类型和引用类型

    PHP 变量在内存中保存的并不直接是值的内容而是值的地址.比如: $a = 1; 从表面上看起来似乎是 $a 直接存储了 1 这个值.但是实际情况是,PHP 解释器创建了变量 $a , 将值 1 存入 ...

  4. C#之值类型和引用类型

    本文意在巩固基础知识,并不是对其进行深入剖析,还望理解. 本文是对此项知识的整理文,有些内容来源于网络,其他为博主原创,所以难免会有一些小得瑕疵,敬请谅解. 所有示例均是博主测试过的,如有转载请标明出 ...

  5. 值类型与引用类型的区别

    可以这样理解: 值类型保存的是具体的值 引用类型保存的是值的地址 例如 int a = 1; int b = a; b++; 这时b为2,a仍然是1 再看引用类型,例如有个类型是 User User ...

  6. 第2篇 C#数据类型-值类型与引用类型

    一 C#内存分配 在应用程序与操作系统之间有一个"中间人"--公共语言运行时(Common Language Runtime,CLR).它为应用程序提供内`存管理,线程管理和远程处 ...

  7. 栈和托管堆/值类型和引用类型/强制类型转换/装箱和拆箱[C#]

    一.栈和托管堆 通用类型系统(CTS)区分两种基本类型:值类型和引用类型.它们之间的根本区别在于它们在内存中的存储方式..NET使用两种不同的物理内存块来存储数据-栈和托管堆.如下图所示:     值 ...

  8. 理解C#值类型与引用类型(收藏)

    从概念上看,值类型直接存储其值,而引用类型存储对其值的引用.这两种类型存储在内存的不同地方.在C#中,我们必须在设计类型的时候就决定类型实例的行为.这种决定非常重要,用<CLR via C#&g ...

  9. java 值类型与引用类型_JAVA 关于值类型和引用类型的区别

    Java中值类型和引用类型的不同? [定义] 引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值,那么调用这个方法是传入的变量的值也将改变.值类型 ...

  10. 值类型和引用类型在栈和堆中的分配

      类型基础及背后的工作原理   数据在内存中的分配与传递    值类型和引用类型它们在内存分配与传递上的区别 内存分配 首先要了解一下内存中栈和堆的概念.     栈(Stack) ##栈是一种先进 ...

最新文章

  1. Linux内存中的 buffer 和 cache 到底是个什么东东?
  2. 学习需要总结。。。。
  3. 【PC工具】winrar解压缩装机必备软件,winRAR5.70免费无广告
  4. Lua 通过 alien 库调用 zlib 压缩/解压
  5. PHP操作mongodb数据库操作类
  6. 了解ThreadLocal背后的概念
  7. 433M无线串口E30-TTL-100在农业物联网上的应用
  8. ISDN与PSTN的区别是什么?
  9. 齐博php百度编辑器上传图片_php版百度编辑器ueditor怎样给上传图片自动添加水印?...
  10. 独家|一文带你理解机器学习中的“归纳偏好”真正含义!
  11. 诗哲魂:制约中国互联网发展瓶颈在哪里?
  12. 快手封禁网红殷世航:涉及炒作卖货、低俗表演等违规行为
  13. PXE+Kickstart无人值守安装CentOS 7出现DHCP故障解决报告
  14. 解决:The Apache Tomcat Native library
  15. 【wangeditor富文本编辑器v4版自定义功能】格式刷
  16. 有位程序员写了部「修仙小说版」编程教程,网友:蚌埠住了 ....
  17. 2022腾讯云服务器租用费用价格表(轻量和CVM精准报价)
  18. Node.js: redis 和 ioredis 的基本使用
  19. MySQL的几种join方法
  20. DASH标准ABR算法介绍

热门文章

  1. 51Nod --1133 不重叠的线段
  2. vnc--centos 7 安装和配置
  3. winpcap编程 解析数据包
  4. 网页变灰配合全国哀悼日的css代码
  5. 蓝牙核心-L2CAP
  6. ble之Transmit window offset and Transmit window size
  7. EOS开发步骤(1) 开发说明
  8. EOS 共识机制 (1)DPOS共识介绍
  9. C++ Primer 5th笔记(chap 10)泛型算法 :算法形参
  10. C++ Primer 5th笔记(2)chapter 2变量和基本类型:引用、const