Welcome

首页 / 软件开发 / C# / C#中的数组

C#中的数组2007-09-09 本站 在进行批量处理数据的时候,我们要用到数组。数组是一组类型相同的有序数据。数组按照数组名、数据元素的类型和维数来进行描述。C#中提供System.Array类是所有数组类型的基类。

数组的声明格式:

non-array-type[ dim-separators ] array-instance name;

比如我们声明一个整数数组:

int[] arr;

在定义数组的时候,可以预先指定数组元素的个数,这时在“[]”中定义数组的元素个数,它的个数可以通过数组名加圆点加“Length”获得。而在使用数组的时候,可以在“[]”中加入下标来取得对应的数组元素。C#中的数组元素的下标是从0开始的,也就是说,第一个元素对应的下标为0,以后逐个增加。

在C#中数组可以是一维的也可以是多维的,同样也支持矩阵和参差不齐的数组。一维数组最为普遍,用的也最多。我们先看一看下面的例子:

程序清单4-3:

using System:class Test{static void Main(){int[] arr=new int[5];for(int i=0;i〈arr.Length;i++) arr[i]=i*i;for(int i=0;i〈arr.Length;i++) Console.WriteLine("arr[{0}]={1}",i,arr[i]);}}
这个程序创建了一个基类型为int型的一维数组,初始化后逐项输出。其中arr.Length表示数组元素的个数。程序的输出为:

arr[0]=0
arr[1]=1
arr[2]=4
arr[3]=9
arr[4]=16

上面的例子中我们用的是一维的,很简单吧!下面我们介绍多维的:

class Text{static void Main(){//可动态生成数组的长度 string[] a1;//一维string数组 string[,] a2//二维 string[,,] a3 //三维 string[][] j2;//可变数组(数组) string[][][][] j3; //多维可变数组}
在数组声明的时候可以对数组元素进行赋值,或者叫做对数组的初始化。也可以在使用的时候进行动态赋值。看下面的例子:

class Test{static void Main(){int[] a1=new int[] {1,2,3};int[,] a2=new int[,] {{1,2,3},{4,5,6}};int[,,] a3=new int[10,20,30];int[][] j2=new int[3][];j2[0]=new int[] {1,2,3};j2[1]=new int[] {1,2,3,4,5,6};j2[2]=new int[] {1,2,3,4,5,6,7,8,9}; }}上面的例子我们可以看出数组初始化可以用几种不同的类型,因为它要求在一个初始化时要确定其类型。比如下面的写法是错误的:class Test{static void F(int[] arr){}static void Main(){F({1,2,3});}}因为数组初始化时{1,2,3}并不是一个有效的表达式。我们必须要明确数组类型:class Test{static void F(int[] arr) {}static void Main(){ F(new int[] {1,2,3});}}