2024年6月7日发(作者:)
C#2010 获取数组元素数与类型
在C#中,数组的元素数量是数组的一种只读属性,是无法进行修改的。在执行
检索和遍历等操作时,经常需要获取数组的元素数量,并检测数组的元素数据类型。
1.直接获取数组元素数
C#的类提供了两种方法以及两种属性,分别用于获取整数型和长
整数型的数组元素数量。如果开发者需要获取整数型变量的数组元素数量,可以使
用GetLength()方法或Length属性,其使用方法分别如下。
gth();
;
在上面的代码中,ArrayName表示数组的实例名称,其分别使用了GetLength()
方法和Length属性获取数组的元素数量,这两种方式获取的数组元素数量是完全相
同的。GetLength()方法返回的是一个int整型变量,而Length属性的值也是int整型
变量。
如果数组的元素数量较多,则开发者还可以使用其他两种方式,获取长整型的
数组元素数量,其分别需要使用GetLongLength()方法和LongLength属性,代码如
下所示。
gLength();
ngth;
GetLongLength()方法和LongLength属性的使用方法与之前介绍的两种方式完
全相同,其区别仅仅是返回的数组元素数量数据类型为long长整型。
例如,定义一个数组并赋值,然后即可使用Length属性输出该数组的数组元素
数量,代码如下。
string[] strArray = new string[3];
strArray[0] = "清华大学出版社";
strArray[1] = "北京";
strArray[2] = "中华人民共和国";
ine();//输出3
2.获取多维或锯齿数组元素数
GetLength()等方法与Length等属性不仅可以获取简单的一维数组数组元素长
度,也可以获取多维数组中的每一维,以及锯齿数组中每一个元素数组的元素数量。
需要注意的是,在获取多维数组的元素数时,Length属性和LongLength属性
获取的并非每个维度的数组元素,仅能获取数组中所有的元素数量。例如,在下面
的多维数组中,获取的就是数组所有的元素数,代码如下。
string[,] strArray = new string[3,2];
strArray[0,0] = "清华大学出版社";
strArray[0, 1] = "清华大学";
strArray[1,0] = "中关村";
strArray[1, 1] = "北京";
strArray[2,0] = "中华人民共和国";
strArray[2,1] = "亚洲";
ine();//输出6
如果需要获取多维数组中每一个维度中的元素数量,则可以使用为GetLength()
方法或GetLongLength()方法添加参数的方式进行获取。例如,获取上面多维数组第
一维的元素数量,可以为GetLength()方法添加数字0的参数,代码如下。
ine(gth(0));//输出3
同理,在获取多维数组中第二维的元素数量时,可以为GetLength()添加数字1
的参数等,依此类推。
在获取锯齿数组的元素数时,开发者既可以获取数组中包含的元素数组数,也
可以获取每一个元素数组的元素数量。例如,对上面的多维数组进行改写,将其修
改为锯齿数组,然后即可分别求出数组包含的元素数组数量和每一个元素数组的元
素数,代码如下。
string[][] strArray = new string[3][];
strArray[0] = new string[2] { "清华大学出版社", "清华大学" };
strArray[1] = new string[3] { "中关村", "海淀区", "北京" };
strArray[2] = new string[2] { "中华人民共和国", "亚洲" };
ine();//求数组的元素数组数量
ine(strArray[0].Length);//求数组第一个元素数组的元素数量
ine(strArray[1].Length);//求数组第二个元素数组的元素数量
ine(strArray[2].Length);//求数组第三个元素数组的元素数量
将以上代码放入到程序的入口函数main()中执行,即可分别输出锯齿数组和每
个元素数组的元素数量,如图5-1所示。
图5-1 输出数组元素数量
由于锯齿数组中的每个元素数组长度可以各不相同,因此在使用锯齿数组时,不能
通过GetLength()方法的参数获取其元素数组的长度。这也是多维数组与锯齿数组的
根本区别所在。
3.获取数组维数或级数
在操作数组时,如果需要获取多维数组或锯齿数组的维数或级数,则可以使用
类提供的rank属性进行读取。在这里需要注意的时,其获取的值要比
数组真正的维数或级数小1。例如,在下面的锯齿数组中,使用rank可以进行级数
读取操作,代码如下。
string[][] strArray = new string[3][];
strArray[0] = new string[2] { "清华大学出版社", "清华大学" };
strArray[1] = new string[3] { "中关村", "海淀区", "北京" };
strArray[2] = new string[2] { "中华人民共和国", "亚洲" };
ine();//输出1
多维数组与锯齿数组的维数或级数获取方法完全相同,都可以直接在数组后添
加Rank属性进行获取。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1717733176a2742697.html
评论列表(0条)