常见数据类型

网友投稿 255 2022-06-22


关于数据类型 c#的类型一般分为值类型和引用类型两种,

值类型的变量包含类型的实例,值类型存放栈中

引用类型的变量包含对类型实例的引用,引用类型放在堆中,在栈中设置一个指针指向堆

值类型:

1.整数型数值:所有的整型数值类型均为值类型,可以用文本进行初始化,每个整型类型的默认值都是0,c#支持以下预定义的整型数值类型

sbyte  8位带符号整数,

byte  8位无符号整数,

short  16位带符号整数

ushort 16位无符号整数

int 32位带符号整数

uint  32位无符号整数

long 64位带符号整数

ulong 64位无符号整数

2.浮点型数值:所有浮点型数值均为值类型 ,可以使用文本进行初始化,每个整型类型的默认值都是0,c#支持以下预定义的浮点型数值类型

float 大约6-9位数字  4个字节

double 大约15-17位数字  8个字节

decimal  大约28-29位数字  16个字节

3.bool类型,它是一个布尔值,可为true和false

4.char类型,默认值是\0,即U+0000

5.enum 枚举类型,它是由整型数值类型的一组命名常量定义的值类型,枚举成员的关联常数值为int,从0开始,并按定义文本顺序递增1

6.结构类型 (stuct type;stucture type)是一种可封装数据和相关功能的值类型

7.可为空的值类型 ,T?表示其基础值类型T的所有值及额外的null 值。

引用类型:

1.内置引用类型

1.1:动态类型 dynamic ,表示变量的使用和对其成员的引用绕过编译时类型检查

1.2:对象类型 object,c#的统一类型系统中,所有的类型都是直接或间接从System.Object 继承的。

1.3:字符串类型 string ,表示0个或多个Unicode字符的序列。

1.4:委托类型 delegate 声明和方法签名相似

2.引用类型可以使用以下进行声明

2.1: class

2.2:Interface

2.3:可为null的引用类型

类型之间可以通过某种手段转换成另一种类型

类型转换分为

1.默认类型转换 无符号和有符号之间转换时,如果无符号的位数和有符号之间位数一致的话不能默认转换,所有整型均可默认转换为decimal

1.1 子类转换成父类时

1.2 短精度向高精度转换时(列:byte->int->long->float->double)

2.强制类型转换  数据类型判断 关键字 is,此关键字可以检测下是否可以转换为目标类型,

2.1 变量前加目标类型进行强制转换 失败时会抛错

2.2 使用as 关键字进行强制转换  失败时会设置为null


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:在WebApi 中使用AutoFac(在webapi上写MQ消费端的弊处)
下一篇:JWT 使用加密算法RS256 非对称加密解密(劲舞团商城)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~