C#:System.Array簡單使用

來源:互聯網
上載者:User

標籤:array類   binary   sort   code   ati   建立   索引   source   負數   

1.C# 中的數組1.1 定義數組:

  1.1.1 定義不初始化:資料類型[] 數組名稱= new 資料類型[元素個數];
    1.1.2 定義並初始化:資料類型[] 數組名稱= new 資料類型[]{array1,array2};

1.2 System.Array 類
    C#中提供了一個現成的名為System.Array的類,可以通過這個類提供的屬性和方法對數組執行大多數操作。

    1.2.1 System.Array 對象建立:Array類是一個抽象類別,不能使用如下方式建立
     
          Array array=new Array();
         
          C# 中提供了CreateInstance()方法建立數組。例如:
   
     Array array=CreateInstance((typeof(string),10));
           
          該語句建立一個數組,該數組的名稱array,類型為string類型,長度為10.
          
          typeof用於擷取類型的System.Type對象,Type執行個體可以表示類,實值型別,數組,介面和列舉程式等。

    1.2.2 數組常用屬性與方法
    
         1) Length 顯示數組所有維中的總個數。

            Array array = Array.CreateInstance(typeof(string),10);

            int length = array.Length;//計算數組中元素的個數

            Console.WriteLine("Array數組長度..."+length);

            結果顯示: Array數組長度...10

         2) BinarySearch 使用二進位搜尋方法搜尋一維排序數組中的某個值。
         
            此方法為靜態方法:Array.BinarySearch 方法 (Array, Object) 
            
            int arrayIndex = Array.BinarySearch(array, "name9");
     
            如果找到 value,則為指定 array 中的指定 value 的索引。

            如果找不到 value 且 value 小於 array 中的一個或多個元素,

            則為一個負數,該負數是大於 value 的第一個元素的索引的按位求補。

            如果找不到 value 且 value 大於 array 中的任何元素,

            則為一個負數,該負數是(最後一個元素的索引加 1)的按位求補。 
         
            使用此方法前需要對數組進行排序。

          3) Clear 將數組中的一組原色設為0 或者 Null
         
             void Array.Clear(array, Index, Length);
             
          4) Copy 將複製數組中從指定源索引開始的一組元素,並將其粘貼到另一個從指定目標索引開始的數組。

             Array.Copy(sourceArray, destinationArray, length)

             從第一個元素開始複製 Array 中的一系列元素,將它們粘貼到另一 Array 中(從第一個元素開始)。

             長度指定為 32 位整數。    

             Array.Copy (Array, Int32, Array, Int32, Int32) 

            從指定的源索引開始,複製 Array 中的一系列元素,

            將它們粘貼到另一 Array 中(從指定的目標索引開始)。長度和索引指定為 32 位整數。

         5) copyTo 將一個數組中的所有元素複製到另一個數組中。

            全部Copy,從指定的索引下標開始,注意此方位非靜態執行方法。
            array.CopyTo(dest,0); 

            Copy 與CopyTo方法範例程式碼段。

          ............................................
    

     //建立array數組並初始化     Array array = Array.CreateInstance(typeof(string),10);                        int length = array.Length;            for (int i = 0; i < length; i++) 
       { array.SetValue("name"+i,i); } //建立dest 數組,並從array數組複製 Array dest = Array.CreateInstance(typeof(string),5); //索引從0開始,長度為5 Array.Copy(array, dest,5); //索引從1開始,長度為5 Array.Copy(array, dest,1,5); //全部Copy,從指定的索引下標開始,注意此方位非靜態執行方法。 array.CopyTo(dest, 0);//注意目標數組與源數組長度一致。 //結果輸出 for (int j = 0; j < dest.Length;j++ ) { Console.WriteLine("dest" +j+"="+dest.GetValue(j)); }

 

      ............................................
           
       6) CreateInstance 初始化Array類的新執行個體

           Array array=Array.CreateInstance(typeof(string),10);


       7) GetValue() 返回給定數組中指定元素的值,該元素可通過指定索引來指明。
        
          Array.GetValue(int index); //索引從0 開始

       8)SetValue() 將數組中的指定元素設定為指定值

          Array.SetValue(Object value,int index);//索引從0 開始

      9)IndexOf 返回給定值在一維數組中第一次出現時的位置索引

         int index=Array.IndexOf(array, "name1");//索引從0開始...

     10)LastIndexOf 返回給定值在一維數組中最後一次出現的位置索引。

          int index=Array.LastIndexOf (array, "name1");//索引從0開始...

     11)Reverse反轉給定一維數組中元素的順序
          Array.Reverse(array);

     12)Sort對數組中的元素進行排序
          Array.Sort(array);

         直接定義的數組與Array.CreateInstance()區別
        
        直接定義的數組只支援上述少數幾個屬性和方法。不支援排序,反轉等操作。因此,再簡單的儲存資料元素而不執行操作的情況下可以使用直接定義的數組,而   要對數組元素進行操作,則要採用Array.CreateInstance()建立數組。

C#:System.Array簡單使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.