C#—数据类型

来源:互联网 发布:网络交易管理办法 pdf 编辑:程序博客网 时间:2024/05/21 01:27

  数据类型是学习一门编程语言的基础,更是优化数据结构、算法的基石。那么,C#中的数据类型有什么内容呢?


  C#中的数据类型主要有两类,为值类型引用类型,这是C#中最常用的两种数据类型,其次,C#是有指针数据类型的,但是指针类型只能在声明为不安全代码中使用。C#中数据类型如下:


1


值类型:


  定义:表示实际数据,作为临时变量时,存储在栈内存中,作为成员变量,存储在堆内存中

  分类:分为两类,简单类型和复合类型:


(1)简单类型:包含整型、实数类型、字符型、布尔型。


 1)整型:整数类型,即byte、short、int、long等整数类型。


 2)实数类型:即其他语言中的浮点型,为带小数的类型。


 3)字符型:用单引号“ ‘ ”定义的内容就表示一个字符,如’A‘、’B‘等。


问:char型字符能否保存一个中文汉字?

由于C#使用的Unicode编码,每个字符为16位,所以一个汉字如’胡‘,是可以在C#中以一个字符保存的。


 4)布尔型:布尔是一个数学家的名字,布尔型主要用来做逻辑判断,只有两种取值,true和false。


(2)复合类型:包含结构类型和枚举类型。


   1)结构类型:我们利用简单类型可以解决平时常用的数据运算、文字处理,基本上够用,但是我们也会经常碰到一些复杂 的、复合的数据类型。比如,通信录中的记录可以包含联系人姓名、电话以及地址;学生信息可以包含学号、姓名、成绩等。如 果仍然按简单类型管理,每一条记录都要存放到三个不同的变量当中,这样工作量很大也不直观。那要怎么办呢?


   这时候就可以用结构类型了。在实际生活中,我们把一组相关的信息放在一起,即将一系列相关变量组织成一个单一实体的过程,称为生成结构的过程。这个实体的类型就是结构类型,结构中的每一个变量为结构的成员。下面以学生为例,写一个结构如下:


1


  注意:结构类型以struct声明,或许你认为结构像类一样,是能够包含数据成员和函数成员的数据结构,但是结构与类不同点在于,结构是值类型,不需要堆分配。


2)枚举类型:是一组已命名的数值常量,用于定义具有一组特定值的数据类型,表现形式是是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内,以关键字enum声明。


  优点:因为这种变量取值只能为已经定义的一组值中的一个,可以有效地防止用户提供无效值,也使代码更加清晰。下面以星期设置为枚举类型为例:


1


引用类型

  引用类型包括类、接口、数组。


  1)类:了解类,首先要了解对象,对象是对客观事物的抽象,而类是对对象的抽象,所以说,类是一种抽象的数据类型。


  2)接口:接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

  接口可以理解为一种契约这个契约规定:所有需要实现这个接口的类必须完成接口里面的方法。


  3)委托:委托是针对方法而说的,顾名思义,委托就是把方法委托给其他元素去实现,联系实际,可以打一个比方,我委托小明去帮我买电影票,这就是我对于小明的一种委托。

  对于委托和面向对象,我会单独分出一章来讲解,此处不再赘述。


指针

  使用指针是有风险的,因为不及时删除的话会泄露内存信息,而及时删除又会显得非常麻烦。所以,C#中的指针类型只能在声明为不安全代码中使用



1

3 0
原创粉丝点击