C#视频总结——数据类型

      通过对C#视频的学习,知道了C#也是一种编程语言,与vb不同的是,它是面向对象的,而vb是基于对象的。下面让我们来说说C#中的数据类型……


       从图中可以看出,C#的数据类型有值类型和引用类型。值类型变量存储的是数据类型所代表的实际数据,值类型变量的值存储在栈(Stack)中,赋值语句是传递变量的值。引用类型的实例,也叫对象,不存在栈中,而存储在可管理堆(Managed Heap)中,堆实际上是计算机系统中的空闲内存。引用类型变量的值存储在栈(Stack)中,但存储的不是引用类型对象,而是存储引用类型对象的引用,即地址,和指针所代表的地址不同,引用所代表的地址不能被修改,也不能转换为其它类型地址,它是引用型变量,只能引用指定类对象,引用类型变量赋值语句是传递对象的地址。说白了,值类型的变量是直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用。

      值类型包括简单类型、枚举类型和结构类型。简单类型就是我们那些常用的整数、布尔、字符等。结构类型和类一样,可以声明构造函数、数据成员、方法、属性等。结构和类的最根本的区别是结构是值类型,类是引用类型。枚举类型是用枚举来表达一组特定的值的集合行为。实际上是为一组在逻辑上密不可分的整数值提供便于记忆的符号。

       引用类型不存储它们所代表的实际数据,而是存储实际数据的引用。引用类型分两步创建:首先在堆栈上创建一个引用变量,然后再堆上创建对象本身,再把这个内存的句柄(也就是内存的首地址)赋引用变量。C#语言引用类型变量无论如何定义,总是引用类型变量,不会变为值类型变量。C#语言引用类型对象一般用运算符new建立,用引用类型变量引用该对象。

    装箱和拆箱

    值类型和引用类型之间的转换成为装箱与拆箱。通过装箱和拆箱,可以轻松实现值类型和引用类型的相互转换。

   装箱:是值类型转换为Object类型,或者转换为由值类型所实现的任何接口类型。把一个值类型的值装箱,也就是创建一个对象并把这个值赋给这个对象。说白了就是把值类型转换为引用类型。

   拆箱:拆箱操作和装箱操作正好相反,是从Object类型转换为值类型,或者是将一个接口类型转换为一个实现该接口的值类型。也就是把引用类型转换成值类型。步骤:一是检查对象实例是否是给定的值类型的装箱值,二是将值从对象实例中复制出来。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 23
    评论
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值