读书人

C#学习(5)数组与结构、枚举、集合

发布时间: 2013-02-28 11:33:09 作者: rapoo

C#学习(五)—数组与结构、枚举、集合的区别
C#学习(5)—数组与结构、枚举、集合的区别
一、什么是数组?数组的作用?怎样用数组?1、什么是数组?

数组是包含若干相同类型元素的一组变量。这些变量都可以通过索引进行访问。数组中的变量称为数组的元素。数组能够容纳元素的数量称为数组的长度。数组的维数即数组的秩。数组中的每个元素都具有唯一的索引与其相对应。数组的索引从零开始。

数组类型是从抽象基类型Array派生的引用类型。通过new运算符创建数组并将数组元素初始化为它们的默认值。

2、数组的作用?

分类放,易于找

例子:

  1. 格子提供了存储空间每一类别都起一个名字每件物品都有个标号

C#学习(5)—数组与结构、枚举、集合的区别

例2:

数组是一个变量,存储相同数据类型的一组数据。

C#学习(5)—数组与结构、枚举、集合的区别

3、怎样用数组?

使用数组四步走:

C#学习(5)—数组与结构、枚举、集合的区别

注意:

(1)声明数组的两种形式:

int[ ] score1;

int score2[ ];

C#学习(5)—数组与结构、枚举、集合的区别

(2)声明数组并分配空间

数据类型[ ] 数组名 = new 数据类型[大小] ;

score = new int[30];

(3)分配空间的同时并赋值

int[ ] score = new int[ ]{89, 79, 76};

int[ ] score = {89, 79, 76};

二、什么是集合?集合的作用?怎样用集合?1、什么是集合?

.NET Framework提供了用于数据存储和检索的专用类,这些类统称为集合。这些类提供对堆栈、队列和哈希表的支持。大多数集合类实现相同的接口。

ArrayList是命名空间System.Collection下的一部分,它是使用大小按需动态增加的数组实现IList接口(IList定义了很多集合接口,ArrayList对这些方法做具体的实现)。

ArrayList的容量是ArrayList可以保存的元素数。ArrayList的默认初始容量为0.随着元素添加到ArrayList中,容量会根据需要通过重新分配自动增加。使用整数索引可以访问此集合中的元素。此集合中的索引从零开始。

2、集合的作用?

集合可以根据使用大小按需添加,不用受事先设置其大小的控制。还有就是可以随意添加、插入、或移除某一范围元素,比数组要方便。

集合的变化是影响全局的,它始终都保证元素的连续性(删除第二条后,第三条就自动移到第二条的位置)。

3、怎样用集合?

改天把例子加上

三、什么是结构?结构的作用?怎样用结构?1、什么是结构?

结构是一种值类型,并且不需要堆分配。结构的实例化可以不使用new运算符。如果声明一个10000个Point对象组成的数组,为了引用每个对象,则需分配更多内存;这种情况下,使用结构可以节约资源。

结构是使用 struct关键字定义的,与类相似,都表示可以包含数据成员和函数成员的数据结构。结构的实例化可以不使用new运算符。

在结构声明中,除非字段被声明为 const 或 static,否则无法初始化。结构类型永远不是抽象的,并且始终是隐式密封的,因此在结构声明中不允许使用abstract和sealed修饰符。

2、结构的作用?

节省空间,成本低。一般情况下,我们很少使用结构,但还是有必要了解一下的。

3、怎样用结构?

和类的使用相似,但还是有区别。

博客:http://blog.csdn.net/gxq741718618gxq/article/details/8603541


四、什么是枚举?枚举的作用?怎样用枚举?1、什么是枚举?

枚举类型是派生自System.Enum的一种独特的值类型,用于声明一组命名的常数。每种枚举类型均有一种基础类型,此基础类型可以使除char类型以外的任何整型。 枚举元素的默认基础类型为int 默认情况下,第一个枚举元素的值为0,后面每个枚举元素的值依次递增1 。

枚举用于“多项选择”场合,就是程序运行时从编译时已经设定的固定数目的“选择”中做出决定。例如,假设您必须定义一个变量,该变量的值表示一周中的一天。该变量只能存储七个有意义的值。若要定义这些值,可以使用枚举类型。

格式:

访问修辞符 enum 枚举名:基础类型

{

枚举成员

}

2、枚举的作用?

在确定数量,确定值的取值范围时会用到枚举。是为了限定取值范围的 .比如一个变量是整型,但是可接受范围只有0-6,如果传七就不对了.做数学运算的时候,如果计算的范围超过了枚举范围,那么这个枚举类型变量将会变成一个数字.

博客:http://blog.csdn.net/gxq741718618gxq/article/details/8604758

3、怎样用枚举?


3楼flyheightest4澶╁ 21:34
涓锛?,"ParentId
2楼qaz123000qaz4澶╁ 19:35
jujjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
1楼missysm5864澶╁ 17:35

读书人网 >C#

热点推荐