C# 數組之int[]


一、數組分類

  數組可以簡單分為3類:

  • 1維數組
  • 2維數組
  • 交錯數組

二、數組初始化

  1.一維數組

  int [] A = { 1,2,3,4 } 直接賦值

  或者

  int [] A = new int [4]{ 1,2,3,4 } new一下,並聲明大小

   2.二維數組

  每行個數必須相同,適合規整的數據存儲;

  int[,] AA={ {1,2 }, { 4,5 }, {6,7 } }; 直接賦值

  int[,] AA=new int[ , ] { {1,2 }, { 4,5 }, {6,7 } };new一下

  int[,] AA=new int[3,2] { {1,2 }, { 4,5 }, {6,7 } };new 並同時聲明大小

  注意:沒有聲明子項長度時,數組每個子項的大小,必須和第一個子項相同。

   3.交錯數組

  每項的個數不一定相同,自由度較高;

    int[][] AAA = { new int[]{1}, new int[]{1,2}, new int[]{3,2} };

  注意:交錯數組和二維數組的區別是,交錯數組並不限制子項的大小一致。


三、數組常用函數

   int A[]的各種函數其實是由Array類來提供的,下面是Array的屬性和方法:

函數名

方法

示例

Clear

清空

Clear(Array array, int index, int length);

根據元素的類型,設置數組中某個范圍的元素為零、為 false 或者為 null。

 Array.Clear(A,0,3);

Copy

復制

void Copy(Array sourceArray, Array destinationArray, int length);

從一個數組A復制某范圍內地 數據到另一個數組B

Array.Copy(A, B, 3);

GetLength

獲得長度

int GetLength(int dimension);

獲得長度

A.GetLength();

GetValue

獲得某下標的值

Object GetValue(Int32)

獲取一維數組中指定位置的值。索引由一個 32 位整數指定。

Object obj = A.GetValue(1)

等價於 A[1]

SetValue

設置某下標的值

void SetValue(object value, int index);

當前表示設置1維數組A[index]=value;

void SetValue(object value, long index1, long index2);

當前表示設置2維數組A[index1][index2]=value;

A.SetValue(10,1);

等價於 A[1]=10

 

IndexOf

查找

 

int IndexOf(Array array, object value);

第一個出現value數值的位置

int LastIndexOf(Array array, object value, int startIndex);

最好出現value數值的位置

Sort

排序

Sort(Array array)

將數組按照某個規則排序

下面詳解

Reverse

翻轉

void Reverse(Array array);

將數組翻轉

Resize

重設大小

void Resize<T>(ref T[] array, int newSize);

重新設置數組大小

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

更多函數,請詳見:class Array類


 

四、重點函數詳解

  (1)Sort排序:

void Sort(Array array);  默認排序

void Sort(Array array, int index, int length);   從index開始,截取length長度的數據排序

void Sort(Array array, IComparer comparer);  常規的int/string類型數據,自定義排序

void Sort<T>(T[] array, Comparison<T> comparison);  結構體、類等復雜的數據類型 排序,在comparison自定義排序規則

void Sort(Array keys, Array items);  兩組數組一起排序,結果按照數組keys的默認排序來排。

void Sort(Array keys, Array items, IComparer comparer);  兩組數組一起排序,結果按照數組keys的自定義排序來排。

 

(2)Resize重新設置大小:

 void Resize<T>(ref T[] array, int newSize);

  此方法分配指定大小的新數組,將元素從舊的數組復制到新,然后使用新替換舊的數組。array必須是一維數組。

    • 如果array是null,此方法具有指定大小創建一個新數組。
    • 如果newSize大於Length的舊的數組中,分配一個新數組,且所有元素從舊的數組都復制到新。 
    • 如果newSize是小於Length的舊的數組中,分配一個新數組和元素從舊數組復制到新直到填充新的; 舊的數組中的元素的其余部分將被忽略。 
    • 如果newSize等同於Length的舊的數組,此方法不執行任何操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM