C#编程基础——数据类型

举报
小小张自由--张有博 发表于 2021/11/23 01:03:25 2021/11/23
【摘要】 目录 值类型 引用类型 值类型与引用类型的关系  区别 “装箱”和“拆箱”       C#语言是一种强类型语言,在程序中用到的变量、表达式和数值等都必须有类型。在C#中,数据类型分为两大类:一类是值类型、一类是引用类型。 值类型 所谓值类型就是包含一个实际数据的量。当定义一个值...

目录

值类型

引用类型

值类型与引用类型的关系

 区别

“装箱”和“拆箱”


      C#语言是一种强类型语言,在程序中用到的变量、表达式和数值等都必须有类型。在C#中,数据类型分为两大类:一类是值类型、一类是引用类型。

值类型

所谓值类型就是包含一个实际数据的量。当定义一个值类型的变量是,C#会根据他所声明的类型,以堆栈方式分配一块大小相适应的存储区域给这个变量,随后对这个变量的读写操作就直接在这块内存区域进行。

C#中的值类型包括:简单类型、枚举类型和结构类型。废话不多说,一张表胜过千言万语。

类别 描述
值类型 基本数据类型 整型:int 
长整形:long
浮点型:float
字符型:char
布尔型:bool
枚举类型 枚举:enum
结构类型 结构:struct

 

引用类型

一个引用类型的变量不存储它们所代表的实际数据,而是存储实际数据的引用。引用类型包括类、接口、数组、object、string 。直接上图。

注:object是C#中所有类型的根类,string类型是一个从object类直接继承的密封类型。

类别 描述
引用类型 基类:System.Object
字符串:string
自定义类:class
接口 接口:interface
数组 数组:int[],string[]

 

值类型与引用类型的关系

区别

一、将一个值类型变量赋给另一个值变量类型时,将复制包含的值引用类型变量的赋值只复制对对象的引用,而不复制对象本身。

二、C#中,值类型就分配在堆栈中,堆栈内存区域内保存着值类型的值,内存区域可以通过变量名来存取引用类型分配在堆中,对象分配在堆时,返回的是地址,这个地址被赋值给引用。

感觉跟VB中按值传递和按址传递有点类似,只是感觉,具体如何接下来还得查

三、值类型不可能派生出新的类型,值类型不可能包含null值。

“装箱”和“拆箱”

C#中用“装箱”和“拆箱”类实现值类型与引用类型之间的转换。

一、“装箱”就是将值类型包装成引用类型的处理过程。

二、“拆箱”它是将一个object类型转换成值类型。

文章来源: blog.csdn.net,作者:小小张自由—>张有博,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/promsing/article/details/106838397

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。