欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

常见数据类型

程序员文章站 2022-04-09 14:45:55
关于数据类型 c#的类型一般分为值类型和引用类型两种, 值类型的变量包含类型的实例,值类型存放栈中 引用类型的变量包含对类型实例的引用,引用类型放在堆中,在栈中设置一个指针指向堆 值类型: 1.整数型数值:所有的整型数值类型均为值类型,可以用文本进行初始化,每个整型类型的默认值都是0,c#支持以下预 ......

关于数据类型 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