主要内容为: 高级数据存储方式,结构,枚举和数组。
主要讲:如何在结构中存储值,节构与类的异同,枚举是什么?如何使他来编程序更容易理解,如何声明数组并使用他来存储大量数据相同的值?使用关键字foreach来 操纵数组。
结构是C#提供的一种数据类型,他与类类似,和类一样,结构也可以包含数据和方法,定义还可以包含构造函数,常量,字段,方法,属性,索引器,运算符和嵌套类型。结构和类的主要区别于存储和访问方式,结构是一种值数据类型,而类是一种引用数据类型。值数据类型存储的是数据类型的名称指定的位置处的值,而引用数据类型存储的是信息的存储位置,结够是按值存储的,没有引用带来的内存开销,因此在处理少量数据时优于类。处理大量数据时,诸如类等引用类型是一种更合式的存储方式,特别是在传递数据给方法时,对于引用变量值,直传递引用,而不是整个数据值,而对于诸如结构等值变量,将被复制并传递给方法。这种复制将带来额外的开销。如果结构很大,将降低程序的运行速度。一个通用的经验规则是,在决定使用类还是结构时,如果数据成员占用的内存不超过16个字节,则使用结构,否则则应考虑将如可使用这些数据。和类一样,结构中可以包含其他类型包含其他结够。结构也可以包含方法和属性,他们的声明于类中相同,这包括使用类中相同的限定符和属性。重载结构方法,传递值以及返回值。结构还可以有构造函数,为结构声明够造函数时必须包含参数,不能为结构声明一个不包含任何参数的构造函数。
在C#中可以使用的另一种数据类型枚举,让你能够创建有限的几个值的变量,枚举让你能够创建这样的值,枚举是使用关键字enum声明的。所有范例中,枚举的底层数据类型都是int,实际上枚举可以包含数据类型为byte,sbyte,int,uint,short,ushort,long和ulong的值。
使用一个decimal数组来记录月结余的效率要高的多。多为数组是一个由数组组成的数组,你甚至可以使用三维数组,这将使数组急剧地复杂化。由数组组成的数组通常被称为二维数组,因为它可以以平面的方式进行表示,要声明二维数组,只需对声明常规数组的方法进行扩展即可,每个数组都知道其长度,数组的长度被存储在一个名为length的成员中。和C#中的其它所有东西一样,数组也是对象。要知道数组的长度,可以像其它数据成员和对象那样使用数据成员length,对于一维数组balance,可以通过balancelength获知其长度,在多维数组中,可以使用length或数组的方法getlength()来获知其子数组的长度,通过传递了数组的索引号来指出要返回哪个子数组的长度。数组只不过是另一种可用于声明变量的类型而已。在可以使用其他数据类型的地方可以创建和使用数组。这意味着可以在结构,类以及其他数据类型中是使用数组。
foreach关键字使得使用数组更为简单,特别是遍历整个数组时,另外它不是使用带下标的数组名来引用数组,而是使用一个简单的变量,foreach语句的缺点在于使用的简单变量是只读的不能给它赋值。datatype是数组的数据类型,varname是用于标识数组中 各个元素的变量的名称。awayname是foreach要遍历的数组的名称