C# Array和ArrayList,List區別

來源:互聯網
上載者:User

C# Array和ArrayList,List區別

ASP.Net學習 2008-09-18 14:32   閱讀3169   評論1

字型大小: 大大 中中 小小

一,C# array數組的用法範例:

type[]   typename=new type[size]; 

如int[] a=new int[2];string[] str=new string[5];

實事上我們平常是用int[],string[]...的,此時我們已經建立一個Array數組,只不過我們平常沒有這種意識而已.

(1):type資料類型不能缺;且要統一,而不能是如 int[] a=new Array[];

(2):數組的大小size不能缺,否則c#認為是出錯的,因為數組是一段固定長度的記憶體;

(3):右邊是一個中括弧[],而不是()

Technorati 標籤: ArrayList

執行個體:

            //Array ar = new Array();//錯誤,無法建立抽象類別或介面“System.Array”的執行個體
            //int[] array = new Array[3];錯誤,
            //int[] array = new Array[];錯誤,必須指定數組的大小或初始值
            //int[] array = new Array[3];//錯誤,無法轉換為int[]
            //int[] array=new int[];//錯誤,必須指定數組的大小或初始值
            //平常我們int[],string[]...事實上就是聲明一個array數組了

            int[] array = new int[5];
            //或int[] arr={1,2,3};
            for (int i = 0; i < 5; i++)
            {
                array[i] = i*100;//注:array數組並不提供add,clear,addRange..方法,而是直接設定或擷取值
                Response.Write(array[i] + "<br>");
            }
            Response.Write(array.Length + "<br><br>");

int [] intarray=new int[9];
     intarray[0]=10;
     intarray[1]=20;
     intarray[2]=30;
     intarray[3]=40;
     intarray[4]=50;
     intarray[5]=60;
     intarray[6]=70;
     intarray[7]=80;
     intarray[8]=90;

二,C# ArrayList數組的用法範例:

ArrayList al = new ArrayList();
            for (int i = 0; i < 3; i++)
            {
                al.Add(i);
                Response.Write(al[i].ToString() + "<br>");//輸出數組中的元素值
                // Response.Write(al[i]+ "<br>");
            }
            Response.Write(al.Count + "<br><br>");

            foreach (int obj in al)//或foreach (object obj in al),因為al是一個object類型的數組
            {
                Response.Write(obj+"-OK"+"<br>");
            }

三,ArrayList和Array相互之間的轉化

         (1)以下是把ArrayList數組中的值拷貝到Array中去的執行個體用法

          //int[] IResult=new int[al.Count];
            //al.CopyTo(IResult);
            //或是用下面的方法
          int[] IResult = (int[])al.ToArray(typeof(Int32));//ToArray(Int32);這樣錯誤,一定要強制類型轉換
          //Person[] personArrayFromList = (Person[])personList.ToArray(typeof(Person));  

         foreach(int item   in IResult)
            {
              Response.Write(item.ToString());
            }

Response.Write("以下是把Array數組中的值拷貝到ArrayList中去的執行個體用法" + "<br>" + "結果為:<br>");

            int[] a ={ 222, 333, 555 };
            ArrayList arrList = new ArrayList();
            foreach (object obj in a)//或foreach (int obj in a)
            {
                arrList.Add(obj);
                Response.Write(obj+"<br>");
            }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.