当前位置 : 主页 > 网络编程 > net编程 >

六、数据类型(装箱与拆箱)

来源:互联网 收集:自由互联 发布时间:2023-10-08
分为:值类型、引用类型和指针类型 值类型可以直接分配一个值,他们从类System.ValueType 中派生的 类型 描述 范围 默认值 bool 布尔值 True 或者False False byte 8为无符号整数 0-255 0 char 16位

分为:值类型、引用类型和指针类型

  1. 值类型可以直接分配一个值,他们从类System.ValueType 中派生的

类型

描述

范围

默认值

bool

布尔值

True 或者False

False

byte

8为无符号整数

0-255

0

char

16位Unicode字符

U+0000 到 U+ffff

"\0"

decimal

128位精确十进制

-7.9*1028到7.9*1028 /100到28

0.0M

double

64位双精度浮点型

(+/-)5.0*10-324 到(+/-)5.0*10-324

0.0D

float

32位单精度浮点型

-3.4*1038到+3.4*1038

0.0F

int

32位有符号整数类型

-2,147,483,648 到 2,147,483,647

0

long

64位有符号整数类型

-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807

0L

sbyte

8位有符号整数类型

-128 到 127

0

short

16位有符号整数类型

-32,768 到 32,767

0

unit

32位无符号整数类型

0 到 4,294,967,295

0

ulong

64位有符号整数类型

0 到 18,446,744,073,709,551,615

0

ushort

16位无符号整数类型

0到65535

0

2.引用类型

引用类型不包含储存在变量中的实际数据,但包含对数据的引用

引用类型指向一个内存位置,如果内存位置的数据由一个变量改变,其他变量也会自动改变。

  • 引用类型:object、dynamic 和string
  • 对象类型object是C#通用类型系统中所有数据类型的终极基类,对象类型可以被分配任何其他类型(值类型、引用类型、预定义类型或用户自定义类型)的值。在分配之间需要进行类型转换。

值类型转换为对象类型称之为 装箱

对象类型转换为值类型 成为之 拆箱


  • 动态类型:可以储存任何类型的值在动态数据类型中。这些类型检查是否在运行是发生的

语法:dynamic 变量名 = 值;

dynamic aa = 2;

动态类型和对象类型的区别:

动态类型变量的类型检查是运行时发生的

对象类型变量的类型检查是编译时发生的

3.字符串类型:允许给变量分配任何字符串值

字符串类型中 “\\” 表示 “\” 或者使用反转移符号 @“\”

4.指针类型:变量存储另一种类型的内存地址。C#中指针与C或C++中的指针有相同的功能

type* 变量名

例如:int* aa;


  • 可空类型:
  • int? a; // a可以为int类型和空
  • bool? b; // b可以为ture、false、null
  • 合并运算符 ??
  • double b = a??3; // a不为null返回a,a为null返回b







上一篇:opencv-Canny()函数
下一篇:没有了
网友评论