程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#中的Array-數組

C#中的Array-數組

編輯:關於C#

一. Array-數組

在C#中定義一個數組的方法一般為:

Data Type []  Array=new DataType [Size];

其中Data Type可以是基本數據類型和對象類型數據,Size是數組元素的個數.

例子定義一個int類型的數據來表示一個班上的人數

int [] classNum=new int[20];

數組的屬性有:

屬性 意義 public virtual bool IsFixedSize 數組的長度是否是固定的 public virtual bool IsReadOnly 數組是否是只讀型 public virtual bool IsSynchronized 在多線程環境下是否安全 public int Length 數組元素的個數 public int Rank 數組的維數 public virtual object SyncRoot 同步訪問數組對象

數組對象的方法有靜態方法和實例方法;

public static int BinarySearch(Array a, object v);

數組a必須是一維而且排好序的;此方法的結果是返回a中與v匹配的第一個元素的索引號.如果沒有匹配元素則返回一個負數-1;

public static int BinarySearch(Array a, object v, IComparer comp);

與前面的方法相似,區別在於comp;用於比較符號;

public static int BinarySearch(Array a, int start,int count, object v)

從a中start開始的count個元素中查詢與v匹配的元素的一個索引號.

public static int BinarySearch(Array a, int start,int count, object v,IComparer comp)

與上一個方法相似.區別在於用比較法補償;

public static void Clear(Array a, int start, int count)

將數組a中從start開始的從count個元素置零;

public virtual object Clone()Copy這個數組;

public static void Copy(Array source,Array dest, int count)

將source中的count個元素賦值到數組dest中.;

public virtual void CopyTo(Array dest, int start)

將調用此方法的數組對象中的start個元素賦值到dest中.

public static Array CreateInstance(Type t, int size)

創建一個有Size個元素的數組,其中元素類型是t;

public static Array CreateInstance(Type t, int size1, int size2)

創建一個二維數組,數組的參數是[size1][size2];數組元素的類型是t;

public static Array CreateInstance(Type t, int size1,int size2, int size3)

創建一個三維數組,元素類型是T,同創建二維數組一樣.;

public static Array CreateInstance(Type t, int[ ] sizes)

創建一個參數sizes維的數組,元素類型是t;

public static Array CreateInstance(Type t, int[ ] sizes,int[ ] startIndexes)

創建一個多維數組,數組維數是sizes,每一個元素的數據類型是t.數組中每一維數組的開始索引號是startIndexes;

public override bool Equals(object v)

判斷v是否與調用此方法的數組對象是否相同.

public virtual IEnumerator GetEnumerator()

返回數組的枚舉對象

public int GetLength(int dim)

返回多維數組第dim維的元素的個數

public override int GetHashCode()

返回數組的哈希碼;

public int GetUpperBound(int dim)

返回多維數組第dim維的元素的最後一個索引值

public object GetValue(int index) 返回一維數組第index個元素的值

public object GetValue(int idx1, int idx2)和public object GetValue(int idx1, int idx2,int idx3)分別獲取2維和3維數組的某個特殊元素的值.;

public static int IndexOf(Array a, object v) 返回a中與v的值一樣的第一元素的索引值;

public static int IndexOf(Array a, object v,int start)

從a中第start個元素開始,返回與v的值一樣的元素位置;

public static int IndexOf(Array a, object v,int start, int count)

從a中第start個元素開始的count個元素中,返回與v的值一樣的元素位置;

public static int LastIndexOf(Array a, object v,int start, int count)

在a中得第start個元素開始的count個元素中查找與v相等的元素的索引號

public static void Reverse(Array a) 將數組a所有元素做個逆轉;

public void SetValue(object v, int index) 設置數組對象的第index個元素的值為v;

對象二維和三維數組有相似的函數;public void SetValue(object v, int idx1, int idx2)和public void SetValue(object v, int idx1,int idx2, int idx3)

public static void Sort(Array a) 對數組a進行排序;

二. 定義和初始化一個數組

int[] myIntArray; myIntArray = new int[4];     利用數組的函數IndexOf() and LastIndexOf()來獲取數組中某一個特定元素的位置;

int[] intArray = {1, 2, 1, 3};

Console.WriteLine("intArray:");

for (int i = 0; i < intArray.Length; i++)

{

Console.WriteLine("intArray[" + i + "] = " +

intArray[i]);}

int index = Array.IndexOf(intArray, 1);

Console.WriteLine("Array.IndexOf(intArray, 1) = " + index);

index = Array.LastIndexOf(intArray, 1);

Console.WriteLine("Array.LastIndexOf(intArray, 1) = " + index);

輸出結果是

 

在下一節將用實際數據來講解每個函數.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved