C#学习笔记_3.C#数据类型

在C#中,变量分为以下几种类型

  • 值类型(Value types)
  • 引用类型(Reference types)
  • 指针类型(Pointer types)

1.值类型

直接分配给值类型变量一个值,值类型变量直接包含数据,声明一个值类型的变量时,系统分配内存来存储值。获得值类型的长度,使用方法sizeof(type)。

类型描述范围默认值
bool布尔值True 或 FalseFALSE
byte8 位无符号整数0 ~ 2550
char16 位 Unicode 字符U +0000 ~ U +ffff‘\0’
decimal128 位精确的十进制值,28-29 有效位数(-7.9 x 1028 ~ 7.9 x 1028) / 100 ~ 280.0M
double64 位双精度浮点型(+/-)5.0 x 10-324 ~ (+/-)1.7 x 103080.0D
float32 位单精度浮点型-3.4 x 1038 ~ + 3.4 x 10380.0F
int32 位有符号整数类型-2,147,483,648 ~ 2,147,483,6470
long64 位有符号整数类型-923,372,036,854,775,808 ~ 9,223,372,036,854,775,8070L
sbyte8 位有符号整数类型-128 ~ 1270
short16 位有符号整数类型-32,768 ~ 32,7670
uint32 位无符号整数类型0 ~ 4,294,967,2950
ulong64 位无符号整数类型0 ~ 18,446,744,073,709,551,6150
ushort16 位无符号整数类型0 ~ 65,5350

2.引用类型

  引用类型变量指向的是一个内存位置,内置的的引用类型有:object、dynamic、string;用户自定义的引用类型有:class、interface、delegate等。
  当一个值类型被转换为对象类型即是装箱,当对象类型被转换为值类型时即为拆箱
  
1. Object类型
Object是System.Object类的别名,是所有类型的父类,可以被分配任何类型,分配之前先进行类型转换即可。
2. Dynamic(动态)类型
可以存储任何类型的值。eg: dynamic d =10;
3. String类型
String类型是System.String类的别名,它是从Object类型派生来的,字符串类型的值通过两种形式进行分配:引号和@引号。
eg: String str = “hello”;
  String s = @”hello”;(@称作逐字字符串,将转义字符\当作普通字符对待。
  String s = @”C:\windows”;
  等价于
  String s= “C:\windows”;
  @字符串可以任意换行,换行符和缩进空格都计算在字符串长度之内。

3.指针类型

指针类型变量存储另一种类型的内存地址,与C和C++中的指针类型具有相同功能。
声明:type* identifier;
eg: char* cptr;
  int* iptr;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

holyZhang2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值