在对编程一穷二白的时候接触到了VB6.0,感觉VB理解起来比较容易,对于初学者来说能很容易的就弄出图形化界面容易让人产生兴趣。使用VB也有一年了,经过《学生管理系统》和《机房收费系统》两个练习项目后,应该说对VB是有一定的理解的。
最近再看《大话设计模式》这本书,顺便也就把C#学了学,关于C#中的数据类型虽然有一种熟悉的感觉但是多少还是跟VB有点区别的。今天整理一下,需要用的时候再来看看。
C#中的数据类型可以分为两类:数值类型和引用类型。
一、数值类型
数值类型包括内嵌类型、自定义类型、枚举;当然我们也能将它们分为简单值类型和复合型类型。
1、整数类型
C#数据类型 |
大小 |
取值范围 |
sbyte |
有符号8位整数 |
-128~127 |
byte |
无符号8位整数 |
0-255 |
short |
有符号16位整数 |
-32768-32767 |
ushort |
无符号16位整数 |
0-65535 |
Int |
有符号32位整数 |
-2147489648-2147483647 |
uint |
无符号32位整数 |
0-42994967295 |
long |
有符号64位整数 |
-263-263 |
ulong |
无符号64位整数 |
0-264 |
2、字符类型
C#中采用Unicode字符集来表示字符类型。
3、实数类型
C#数据类型 |
大小 |
取值范围 |
float |
32位单精度实数 |
1.5*10-45-3.4*1038 |
double |
64位双精度实数 |
5.0*10-324-1.7*10308 |
demcimal |
128位十进制实数 |
1.0*10-28-7.9*1028 |
4、布尔类型
取值只能是true或者false,bool类型对应于.NET类库中的System.Boolea结构。它在计算机中占4个字节,即32为存储空间。
5.结构类型:
把一系列相关的信息组织成为一个单一实体的过程,这就是创建一个结构过程。
struct person
{
string m_name; //姓名
int m_age; //年龄
string m_sex; //性别
}
6.枚举类型:
主要用于表示一个逻辑相关联的项和组合。使用关键字enum来定义。
enum Weekday
{
Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
}
二.引用类型
引用类型包括类(class)、接口(interface)、委托(delegate)和数组(array)。
1、类(class):
类是面向对象编程的基本单位,是一种包含数据成员、函数成员和嵌套类型的数据结构。类的数据成员有常量、域和事件。函数成员包括方法、属性、索引指示器、运算符、构造函数和析构函数。类和结构同样都包含了自己的成员,但它们之间最主要的区别在于:类是引用类型,而结构是值类型。
类支持继承机制,通过继承,派生类可以扩展基类的数据成员和函数方法,进而达到代码重用和设计重用的目的。
2、接口(interface):
应用程序之间要相互调用,就必须事先达成一个协议,被调用的一方在协议中对自己所能提供的服务进行描述。在C#中,这个协议就是接口。接口定义中对方法的声明,既不包括访问限制修饰符,也不包括方法的执行代码。如果某个类继承了一个接口,那么它就要实现该接口所定义的服务。也就是实现接口中的方法。
3、委托:委托用语封装某个方法的调用过程。委托的使用过程分为3步:
1).定义 delegate void HelloDelegate();
2).实例化 HelloDelegate hd = new HelloDelegate(p1.Say); //p1.Say调用的方法
3).调用 hd();
4.数组:
数组主要用于同一数据类型的数据进行批量处理。在C#中,数组需要初始化之后才能使用。