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
- 点赞
- 收藏
- 关注作者
评论(0)