常见数据类型

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

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

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

 

值类型:指针

1.整数型数值:全部的整型数值类型均为值类型,能够用文本进行初始化,每一个整型类型的默认值都是0,c#支持如下预约义的整型数值类型code

sbyte  8位带符号整数,对象

byte  8位无符号整数,继承

short  16位带符号整数ci

ushort 16位无符号整数字符串

int 32位带符号整数string

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

相关文章
相关标签/搜索