首页 > 技术文章 > 2. 数据类型

LiuChangwei 2017-10-04 10:39 原文

一、定义

1. 数据类型:数据类型是一个值的集合以及定义在这个值集上的一组操作。

2. 变       量:变量是用来存储值的所在处,它们有名字和数据类型。

二、数据类型包括引用类型和值类型

1.  引用类型

  (1)对象类型(object):可把任何类型的值赋给它,它是其他类型的基类型;

  (2)字符串类型(string):在C#语言中,字符串类型是用一对双引号引起来的字符;

  (3)接口(interface):接口定义了所有类继承接口时应遵循的语法合同。接口定义了语法合同“是什么”的部分,派生类定义了语法合同“怎么做”的部分。接口定义了属性、方法和事件,这些都是接口的成员。接口只包含成员的声明,派生类则定义成员。

  (4)数组(array): 数组是一个存储相同类型元素的固定大小的顺序的集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。

  (5)代理( delegate ): 即委托。是存有对某个方法的引用的一种引用类型变量。特别用于实现事件和回调方法。

2. 值类型

  值类型直接将内存存储于栈内,由编译器自动释放资源的数据类型。通常来说,值类型就是字面意义上的值,值类型的默认值一般为0。如整形、布尔等。

  (1)结构体:数值类型包括结构类型(struct)、枚举类型( enum )、bool型和用户自定义的结构体;

  (2)枚举:枚举是一组命名的整型常量。是强类型。

  (3)可空类型null:

3. 结构类型包括: 简单类型和用户自定义结构类型。

  简单类型有:整型(byte、sbyte、long、ulong、short、ushort、 int、uint)、浮点数类型(float、double)、十进制类型(decimal)、字符类型(char)、布尔型(bool)。

三、初始化

1. 变量

  如:int num = 9;
  声明变量并给变量赋值。这里的“=”是赋值运算符,变量需先声明再赋值才能使用。变量可以反复赋值,调用时以最后一次赋值为准。

2. 常量

  定义常量与定义变量的过程类似,只是多加一个关键词const;
  如:const int num =9;

3. 局部变量

  存在于声明该变量的块语句或方法的大括号内;
  如:在for ,while, foreach等循环语句中声明的变量,只作用于该循环体内。

4. 变量作用域

  指包含他的大括号。

5.  数据存储区间

  内存可划分为三大块:堆(能存储大量数据)、栈(存储少量数据)、静态存储区它们是计算机内存中的一种术语,表示存储数据的地方,都是计算机管理内存的一种机制。值类型存储到栈中,引用类型存储到堆中。
  注:他们之间的关系是:值类型直接存储于栈中。引用类型存储于堆中,并开辟一个地址,引用类型的地址存于栈中。

(1)什么是堆(由程序员分配释放):堆(英语:heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。由 new 分配的内存块都在堆上。

(2)什么是栈(由编译器自动释放内存):栈是一种堆栈,他是一种运动受限的线性表。其限制是仅允许在表的一端进行插入(进栈)和删除(出栈)操作,这一端被称为栈顶,相对的另一端被称为栈底。

(3)什么是静态存储区(全局区:程序结束以后由系统释放):在程序运行期间分配固定的存储空间的方式。

 

 

推荐阅读