浅议C#数据类型

C#中有两种数据类型,值型和引用型。

一、值型 

值型又可以分为整数、浮点数、字符、布尔型、结构和枚举型。

(1)整数

数据类型

说明

取值范围

System程序集中的结构

sbyte

有符号8位整数

-128-127

SByte

byte

无符号8位整数

0-255

Byte

short

有符号16位整数

-32768-32767

Int16

ushort

无符号16位整数

0-65535

UInt16

Int

有符号32位整数

-2147489648-2147483647

Int32

uint

无符号32位整数

0-42994967295

UInt32

long

有符号64位整数

-263-263

Int64

ulong

无符号64位整数

0-264

UInt64

(2)浮点数

数据类型

说明

取值范围

System程序集中的结构

float

32位单精度实数

1.5*10-45-3.4*1038

Single

double

64位双精度实数

5.0*10-324-1.7*10308

Double

decimal

128位十进制实数

1.0*10-28-7.9*1028

Decimal

(3)字符

数据类型

说明

取值范围

System程序集中的结构

char

16Unicode字符

U+0000-U+ffff

Char

(4)布尔型

数据类型

说明

取值范围

System程序集中的结构

bool

32位布尔型

true/false

Boolean

(5)结构

将一系列信息组织成单一实体。

struct Person
{
  string name;
  int age;
  string sex;
}

(6)枚举

用于表示一个逻辑相关联的项和组合。

enum Weekday
{
  Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
}

二、引用型

引用类型包括类(class)、接口(interface)、数组(array)和委托(delegate)

(1)(class)

类是一组具有相同数据结构和相同操作的对象集合。创建类的实例必须使用关键字new来进行声明。

(重点)类和结构之间的根本区别在于:结构是值类型,而类是引用类型。对于值类型,每个变量直接包含自身的所有数据,每创建一个变量,就在内存中开辟一块区域;而对于引用类型,每个变量只存储对目标存储数据的引用,每创建一个变量,就增加一个指向目标数据的指针。

(2)接口(struct)

应用程序之间要相互调用,就必须事先达成一个协议,被调用的一方在协议中对自己所能提供的服务进行描述。在C#中,这个协议就是接口。接口定义中对方法的声明,既不包括访问限制修饰符,也不包括方法的执行代码。

(注意)如果某个类继承了一个接口,那么它就要实现该接口所定义的服务。也就是实现接口中的方法。

(3)委托(delegate)

委托用语封装某个方法的调用过程。

委托的使用过程分为3步:

1.定义 delegate void HelloDelegate();

2.实例化 HelloDelegate hd = new HelloDelegate(p1.Say); //p1.Say调用的方法

3.调用 hd();

(4)数组(array)

数组主要用于同一数据类型的数据进行批量处理。在C#中,数组需要初始化之后才能使用。

如:int[] arr = new int[3]{1,2,3};

posted @ 2011-01-08 18:06  Erebus_NET  阅读(194)  评论(0编辑  收藏  举报