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

C#數組中ArrayList相關方法的學習

編輯:關於C語言

一. ArrayList相關方法的學習

利用enumerator來訪問數組:

ArrayList list = new ArrayList(1);

for (int i = 0; i < 10; i++)

list.Add(i);

IEnumerator etr = list.GetEnumerator();//枚舉

while (etr.MoveNext())

Console.Write(etr.Current + " ");

運行結果:

對了,要想在C#中利用ArrayList必須在系統命名空間中加入一個引用,否則會出現錯誤的。using System.Collections;

下面看一些動態數組的常用方法:

ArrayList list = new ArrayList(5);

//構造一個動態數組

// list.Clear();//清楚數組中所有的元素

Console.WriteLine();

Console.WriteLine("there are {0} elements in the list", list.Count);

ArrayList shuzu = new ArrayList(5);

shuzu.Add("仙劍一");

shuzu.Add("亮劍");

shuzu.Add("bianceng.");

shuzu.Add("國家寶藏");

shuzu.Add("陸小鳳");

for (int x = 0; x <= shuzu.Count - 1; x++)

Console.WriteLine(shuzu[x]);

Console.WriteLine("now reverse it\n");

shuzu.Reverse();

Console.WriteLine("after reverser\n");

Console.WriteLine();

for (int x = 0; x <= shuzu.Count - 1; x++)

Console.WriteLine(shuzu[x]);

運行結果:

現在比較下array 和arraylist:Array 提供 ArrayList 所不具有的某些靈活性。例如:
可以設置 Array 的下限,但 ArrayList 的下限始終為零。
Array 可以具有多個維度,而 ArrayList 始終只是一維的;特定類型(不包括 Object)的 Array 的性能比 ArrayList 好,這是因為 ArrayList 的元素屬於 Object 類型,所以在存儲或檢索值類型時通常發生裝箱和取消裝箱。

Array 位於 System 命名空間中;ArrayList 位於 System. Collections 命名空間中

至於ArrayList從Object類繼承下來的父類方法我在這裡就不多介紹了,

那都是些基本的方法。下面看些ArrayList使用的方法。

Console.WriteLine();

for (int x = 0; x <= shuzu.Count - 1; x++)

Console.WriteLine(shuzu[x]);

Console.WriteLine("there are {0} elements in the list", shuzu.Count);

Console.WriteLine("now add a new elements ");

shuzu.Add("new element");//增加一個元素

Console.WriteLine("there are {0} elements in the list", shuzu.Count);

shuzu.Remove("亮劍");//刪除特點元素

Console.WriteLine("there are {0} elements in the list", shuzu.Count);

shuzu.RemoveAt(2);//刪除指定位置的元素

Console.WriteLine("there are {0} elements in the list", shuzu.Count);

shuzu.Insert(1, "系統級");//在數組的制定位置插入一個元素

Console.WriteLine("there are {0} elements in the list", shuzu.Count);

int countElement = shuzu.Count;

Console.WriteLine(shuzu.GetType());//輸出數組的類型

int index = shuzu.IndexOf("系統級");//獲取某一元素的索引號

Console.WriteLine();

ArrayList anothe = new ArrayList(shuzu);//創建一個數組

for (int b = 0; b < anothe.Count; b++)

Console.WriteLine(anothe[b]);

Console.WriteLine(shuzu.Contains("國家寶藏"));//判定數組中是否存在某一元素

Console.WriteLine(shuzu.LastIndexOf("國家寶藏"));

list.Add("B");

list.Add("G");

list.Add("J");

list.Add("S");

list.Add("M");

string[] array1 = new string[list.Count];

//創建一個i和shuzu元素個數大小一樣大的字符串數組

list.CopyTo(array1, 0);

//將shuzu中從第一個元素開始以後的元素復制到array

object[] array2 = list.ToArray();//利用這個方法創建數組

Console.WriteLine("Array 1:");

foreach (string s in array2)

{

Console.Write("{0}", s);

}

Console.WriteLine();

foreach (string s in array1)

{

Console.Write("{0}", s);

}

Console.WriteLine();

for (int i = 0; i < list.Count; i++)

Console.Write(list[i]);

以上程序運行的結果是:

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