2.C#的数组

1.数组声明的基本格式:

 1using System;
 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()语句遍历数组元素:

 1using System;

 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.数组的动态添加实现:

 1using System;
 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        forint 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始终是一维的。
例如:

 1using System;
 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]长度的二维数组:

 

 1using System;
 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}

 

posted @ 2009-07-15 17:33  清山博客  阅读(221)  评论(0编辑  收藏  举报