1.数组声明的基本格式:
2class Test
3{
4 static void Main()
5 {
6 int[] arr=new int[3];
7 arr[0]=1;
8 arr[1]=2;
9 arr[2]=3;
10 foreach(int i in arr) //利用foreach()语句遍历数组元素
11 Console.WriteLine(i);
12 }
13}
2.利用foreach()语句遍历数组元素:
2class Test
3{
4 static void Main()
5 {
6 int[] arr=new int[]{1,2,3}; //也可以写成:int[] arr={1,2,3}
7 for(int i=0;i<arr.Length;i++)
8 Console.WriteLine(arr[i]);
9 }
10}
11 注:数组的声明还可以:int[] arr=new int[3]; //先预设数组长度
12 arr[0]=1; //再分别给数组赋值
13 arr[1]=2;
14 arr[2]=3;
3.数组的动态添加实现:
2class Test
3{
4 static void PrintArr(int ArrLength)
5 {
6 int[] arr=new int[ArrLength];
7 for(int i=0;i<arr.Length ;i++)
8 arr[i]=i;
9 Console.WriteLine("print Array's value");
10 for( int i=0;i<arr.Length ;i++)
11 Console.WriteLine ("arr[{0}]={1}",i,arr[i]);
12 }
13 static void Main()
14 {
15 int i=1;
16 while(i>0)
17 {
18 Console.WriteLine("please enter the array's length:");
19 i=Int32.Parse(Console.ReadLine()); //将输入的字符型数据转换成数字型
20 PrintArr(i);
21 }
22 }
23}
4.ArrayList动态数组的实现:
(1)ArrayList位于System.Collections命名空间里,ArrayList的对象是较为复杂的数组。
(2)ArrayList和Array的区别:
a.Array的容量是固定的,而ArrayList的容量是可根据需要自动扩充的。
b.ArrayList提供添加、插入或移除某一范围元素的方法,在Array中,只能一次获取或设置一个元素的值。
c.Array可以具有多个维度,而ArrayList始终是一维的。
例如:
2using System.Collections;
3class ArrList
4{
5 static void Main()
6 {
7 ArrayList arr=new ArrayList();
8 string str1;
9 while(true) //遇到break语句便跳出循环语句。
10 {
11 Console.WriteLine("please add a string to ArrayList:");
12 str1=Console.ReadLine();
13 if(str1=="end")
14 break;
15 arr.Add(str1); //给数组添加元素
16 Console.WriteLine();
17 for(int i=0;i<arr.Count;i++)
18 Console.Write("{0}",arr[i]);
19 Console.WriteLine("\n");
20 }
21 }
22}
5.多维数组:
(1)数组的声明:
int[] a1; //整数类型的一维数组
int[,] a2; //整数类型的二维数组
(2)二维数组的声明和初始化:
int[,] a2=new int[2,3];
int[,] a2=new int[,]{{1,2,3},{4,5,6}};
(3)三维数组不做讨论。
如:打印一个[4,6]长度的二维数组:
2class Matrix
3{
4 static void Main()
5 {
6 int[,] arr=new int[4,6];
7 for(int i=0;i<4;i++)
8 {
9 for(int j=0;j<6;j++)
10 {
11 arr[i,j]=(i+1)*10+j+1;
12 }
13 }
14 for(int i=0;i<4;i++)
15 {
16 for(int j=0;j<6;j++)
17 {
18 Console.Write("{0} ",arr[i,j]);
19 }
20 Console.WriteLine();
21 }
22
23 }
24}