详细介绍用C#描述数据结构2:Array的图文代码实例


本文摘自PHP中文网,作者黄舟,侵删。

  Array是.NET提供的最基础的数据集合,通过索引直接访问集合元素。提供一维或多维数据存储,并支持诸如,查询,搜索,排序,复制等操作。

提供的主要接口,根据语义划分,主要包括:

这里写图片描述

  也可以打百度脑图查看:
 http://naotu.baidu.com/file/f879a94fe2163c365cc22f4e4bbcc7dc

  一维数组声明,创建,初始化:
1)直接在初始化器内进行:

1

int[] mp = new int[6] { -50, -30, -10, 10, 30, 50 };

2)分别赋值:

1

2

3

4

5

6

mp[0] = -50;

mp[1] = -30;

mp[2] = -10;

mp[3] = 10;

mp[4] = 30;

mp[5] = 50;

如下图所示,一维图的编号分别为0,1,2,3,4,5


这里写图片描述


多维(例如二维)数组声明,创建,初始化:(如上图所示,二维的编号分别为0,1,2,3,4,5)

1

2

3

4

int[,] point = new int[2, 6] {

 { -50, -30, -10, 10, 30, 50 },//第0维

 { 50, 30, 10, 10, 30, 50 }//第1维

                             };

  分别初始化:

1

2

3

4

5

6

7

//点0

point[0, 0] = -50;            point[1, 0] = 50;            //点1

point[0, 1] = -30;            point[1, 1] = 30;            //点2

point[0, 2] = -10;            point[1, 2] = 10;            //点3

point[0, 3] = 10;            point[1, 3] = 10;            //点4

point[0, 4] = 30;            point[1, 4] = 30;            //点5

point[0, 5] = 50;            point[1, 5] = 50;

  分别比较一维和多维,接口方法的语义区别:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

//获取某维的元素个数

int mpLen0 = mp.GetLength(0);//6

int pointLen0 = point.GetLength(0);//2

int pointLen1 = point.GetLength(1);//6

 

//获取某个维度的下标最大值

int mpUpperBound = mp.GetUpperBound(0); //5

int pointUpperBound0 = point.GetUpperBound(0);//1

int pointUpperBound1 = point.GetUpperBound(1);//5

//获取某个维度的下标最小值

int mpLowBound = mp.GetLowerBound(0);//0

int pointLowBound0 = point.GetLowerBound(0);//0

int pointLowBound1 = point.GetLowerBound(1);//0

 

//获取所有维数的元素总数

int mpLen = mp.Length;//6

int pointLen = point.Length;//12

//获取维数

int mpRank = mp.Rank;//1

int pointRank = point.Rank;//2

  总结
  1 Array在编译时必须确定元素每一维度的元素个数,这是它最大的缺陷,对于运行时才能确定某个维度的元素个数的情况,这个数据结构是不能满足条件的!
  2 Array创建时的类型为强类型,必须指定。
  
  下载Array思维导图地址:
http://download.csdn.net/detail/daigualu/9772336
  测试源码下载地址:
  http://download.csdn.net/my

以上就是详细介绍用C#描述数据结构2:Array的图文代码实例的详细内容!

相关阅读 >>

C#中for循环的实例分析

C#中正则表达式有什么作用?匹配字符有什么含义?

关于C#中string类型的方法分享

C#字符串处理小工具的详细介绍

c#cs与bs数据请求交换

C#中二分法查找的入门(代码介绍)

C#格式化数字代码示例详解

C#中关于new的用法以及和override的区别分析详解

几个优秀的java和C#代码转换工具

C#是什么,能做些什么?

更多相关阅读请进入《C#》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...