System.Array簡單使用

定義數組:
  定義不初始化:數據類型[] 數組名稱= new 數據類型[元素個數];
  定義並初始化:數據類型[] 數組名稱= new 數據類型[]{array1,array2};
1System.Array 類
  C#中提供了一個現成的名爲System.Array的類,可以通過這個類提供的屬性和方法對數組執行大多數操作。
    System.Array 對象創建:Array類是一個抽象類,不能使用如下方式創建   
  Array array=new Array();
  C# 中提供了CreateInstance()方法創建數組。例如: 
  Array array=CreateInstance((typeof(string),10));
  該語句創建一個數組,該數組的名稱array,類型爲string類型,長度爲10.
  typeof用於獲取類型的System.Type對象,Type實例可以表示類,值類型,數組,接口和枚舉器等。
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);
 13)直接定義的數組與Array.CreateInstance()區別
   直接定義的數組只支持上述少數幾個屬性和方法。不支持排序,反轉等操作。因此,再簡單的存儲數據元素而不執行操作的
 情況下可以使用直接定義的數組,而要對數組元素進行操作,則要採用Array.CreateInstance()創建數組。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章