1,Array常用屬性Length 傳回元素個數,LongLength 當元素個數超出int型範圍時使用,Rank傳回陣列的維數
2,Array類別是一個抽象類,不能使用建構子來建立陣列。
但可以這樣做
view plaincopy to clipboardprint?
Array iArray = new int[] { 1, 2, 3, 4 };
for (int i = 0; i < iArray.Length; i++)
{
Console.WriteLine(iArray.GetValue(i));
}
Array iArray = new int[] { 1, 2, 3, 4 };
for (int i = 0; i < iArray.Length; i++)
{
Console.WriteLine(iArray.GetValue(i));
}
或是使用靜態方法CreateInstance,尤其是事先不知道陣列元素類型的時候,可以這樣定義陣列
其中SetValue方法用於設定,GetValue方法用於讀取
view plaincopy to clipboardprint?
Array array = Array.CreateInstance(typeof(string), 3);
array.SetValue("Tom", 0);
array.SetValue("Jack", 1);
array.SetValue("Bill", 2);
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array.GetValue(i));
}
Array array = Array.CreateInstance(typeof(string), 3);
array.SetValue("Tom", 0);
array.SetValue("Jack", 1);
array.SetValue("Bill", 2);
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array.GetValue(i));
}
※此方法也可以用於建立多維數組
3,數組的複製,使用Clone()方法,
如果陣列元素是值類型的,就會複製所有的值,
如果數組元素是引用類型,就複製引用
※ 如果需要包含引用類型的數組的深副本就必須迭代數組,建立新對象
為了說明引用類型的複製,請參閱下類
view plaincopy to clipboardprint?
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public Person(string FirstName, string LastName)
{
//參數與類別的成員同名的時,用this指涉類別成員(個人建議最好不要這樣用)
this.FirstName = FirstName;
this.LastName = LastName;
}
//重寫ToString類別
public override string ToString()
{
return string.Format("{0} {1}", FirstName, LastName);
}
}
class Program
{
static void Main(string[] args)
{
Person[] persons1 = new Person[2];
persons1[0] = new Person("Tom", "lin");
persons1[1] = new Person("Jack", "Rader");
Person[] persons2 = persons1.Clone() as Person[];
persons2[0].FirstName = "複製2";
//呼叫複製來源數組
Console.WriteLine(persons1[0].FirstName);
//結果為複製2,而不是Tom,可見Clone方法僅僅複製了引用
Console.Read();
}
}
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public Person(string FirstName, string LastName)
{
//參數與類別的成員同名的時,用this指涉類別成員(個人建議最好不要這樣用)
this.FirstName = FirstName;
this.LastName = LastName;
}
//重寫ToString類別
public override string ToString()
{
return string.Format("{0} {1}", FirstName, LastName);
}
}
class Program
{
static void Main(string[] args)
{
Person[] persons1 = new Person[2];
persons1[0] = new Person("Tom", "lin");
persons1[1] = new Person("Jack", "Rader");
Person[] persons2 = persons1.Clone() as Person[];
persons2[0].FirstName = "複製2";
//呼叫複製來源數組
Console.WriteLine(persons1[0].FirstName);
//結果為複製2,而不是Tom,可見Clone方法僅僅複製了引用
Console.Read();
}
}
3,Array類別也實現了數組中元素的冒泡排序,Sort方法.
對於簡單的陣列可以直接排序
Array.Sort(iArray); 其中, iArray為int型數組
-