C#入门系列课程之四---数据类型、变量、常量
时间:2010-10-15 来源:徐禀欣
1、C#数据类型可以分为值类型、引用类型、指针类型。
值类型分为:简单类型、结构类型、枚举类型
引用类型:类类型、数组类型、接口类型、委托类型
指针类型:只能在不安全代码中才可以直接使用
2、值类型(System.ValueType)--简单类型
(1) 整型
数据类型 | 占用字节 | 取值范围 |
sbyte | 8 | -128~127 |
byte | 8 | 0-255 |
short | 16 | -32768~32767 |
ushort | 16 | 0~65535 |
int | 32 | -2147483648~2147483647 |
uint | 32 | 0-4294967295 |
long | 64 | -9223372036854775808~9223372036854775807 |
ulong | 64 | 0-188446744073709551615 |
char | 16 | 0~65535 |
(2)浮点型
数据类型 | 占用字节 | 取值范围 |
float | 精确到7位数 | 1.5*10-45~~3.4*10+38 |
double | 精确到15~16位数 | 50*10-324~~1.7*10+308 |
(3)布尔型:bool的值只有两种true 或false
3、值类型--枚举类型
enum
{
list1=value1,
list2=value2,
….
}
4、值类型—结构类型
5、引用类型:又称为对象。引用类型的变量是不直接存储变量值的,它是指向要存储的值,实际上就是存储数据引用值的地址。
类类型:类名 变量名=new 类名(); 接口类型:interface定义;
数组定义:数据类型[] 变量名=new 数据类型[n];
具体用法:在后面的章节详细描述
6、类型转换
(1)隐式转换
源类型 | 目标类型 隐式转换是自动转换,转换过程中可能带来精度损失,但不会影响其数量级 |
sbyte | short、int、long、float、double、decimal |
byte | short、ushort、int、uint、long、ulong、float、double或decimal |
short | int、long、float、double、decimal |
ushort | int、uint、long、ulong、float、double或decimal |
int | long、float、double或decimal |
uint | long、ulong、float、double或decimal |
char | ushort、int、uint、long、ulong、float、double或decimal |
float | double |
ulong | float、double 或decimal |
long | float、double或decimal |
(2)显式转换
源类型 | 目标类型:转换方式:a.(数据类型)变量名 b.Convert.数据类型(x) |
sbyte | byte、ushort、uint、ulong或char |
byte | sbyte或char |
short | sbyte、byte、ushort、unit、ulong或char |
ushort | sbyte、byte、short或char |
int | sbyte、byte、short、ushort、uint、ulong或char |
uint | sbyte、byte、short、ushort、int或char |
char | sbyte、byte或short |
float | sbyte、byte、short、ushort、int、uint、long、ulong、char或decimal |
ulong | sbyte、byte、short、ushort、int、uint、long或char |
long | sbyte、byte、short、ushort、int、uint、ulong或char |
double | sbyte、byte、short、ushort、int、uint、long、ulong、char或decimal |
decimal | sbyte、byte、short、ushort、int、uint、long、ulong、char或double |
(3)装箱和拆箱
装箱:将值类型转换为引用类型的过程 拆箱:将引用类型转换为值类型的过程
例如:int i=2008; object j=i; 折箱:object i=2008;int j=(int)i;
二、变量
1、变量的命名与标识符命名规则一样
2、变量的声明:数据类型 变量名;
3、变量的作用域名,根据定义变量类型,决定变量访问的代码区域
三、常量
1、常量的命名与标识符命名规则一样,一般常量使用大写字母定义
2、常量的定义: const 数据类型 常量名