學用 ASP.Net 之 System.Collections.ArrayList 類

來源:互聯網
上載者:User
ArrayList 是 .Net 的動態數組.
主要成員:
/* 靜態方法 */ArrayList.Adapter()   //把其他 IList 對象封裝為 ArrayList 使用ArrayList.FixedSize() //封裝為固定容量ArrayList.ReadOnly()  //封裝為唯讀ArrayList.Repeat()    //根據指定次數的重複值建立 ArrayList/* 屬性 */Capacity    //容量Count       //元素數IsFixedSize //是否被封裝為固定容量?  IsReadOnly  //是否被封裝為唯讀?  /* 方法 */Add()          //添加AddRange()     //添加一個集合BinarySearch() //使用二分法快速尋找, 尋找前須先排序; 找不到會返回一個 
元素值可以是不同類型、可重複、可為 null:
protected void Button1_Click(object sender, EventArgs e){    ArrayList arr = new ArrayList();    arr.Add("ABC");    arr.Add(123);    arr.Add(3.14);    arr.Add(null);    arr.Add(null);    string s = arr[0].ToString();    int n = (int)arr[1];    double f = (double)arr[2];    TextBox1.Text = string.Concat(s, ", ", n, ", ", f); //ABC, 123, 3.14    //TextBox1.Text = string.Concat(arr[0], ", ", arr[1], ", ", arr[2]); //同上}
ArrayList.Repeat()、AddRange() 及遍曆:
protected void Button1_Click(object sender, EventArgs e){    ArrayList arr1 = ArrayList.Repeat("AAA", 3);    ArrayList arr2 = ArrayList.Repeat("BBB", 4);    arr1.AddRange(arr2);    string s1, s2;    s1 = s2 = "";    foreach (var x in arr1) {        s1 += x.ToString() + " ";          //AAA AAA AAA BBB BBB BBB BBB     }                   for (int i = 0; i 
GetRange()、SetRange():
protected void Button1_Click(object sender, EventArgs e){    ArrayList arr1 = new ArrayList(6); //指定容量    arr1.Add(1);    arr1.Add(2);    arr1.Add(3);    arr1.Add(4);    arr1.Add(5);    arr1.Add(6);    ArrayList arr2 = arr1.GetRange(2, 3);    string s1 = string.Join(", ", arr2.ToArray()); //3, 4, 5    arr1.SetRange(3, arr2); //arr2 中的元素將覆蓋到 arr1 的指定位置, arr1 中須有位置才行    string s2 = string.Join(", ", arr1.ToArray()); //1, 2, 3, 3, 4, 5    TextBox1.Text = s1 + "\n" + s2;}
翻轉與排序:
protected void Button1_Click(object sender, EventArgs e){    ArrayList arr = new ArrayList(10); //指定容量    arr.Add(1);    arr.Add(3);    arr.Add(5);    arr.Add(7);    arr.Add(9);    arr.Add(2);    arr.Add(4);    arr.Add(6);    arr.Add(8);    arr.Add(0);    arr.Reverse();    string s1 = string.Join(", ", arr.ToArray()); //0, 8, 6, 4, 2, 9, 7, 5, 3, 1    arr.Reverse(0, arr.Count / 2);    string s2 = string.Join(", ", arr.ToArray()); //2, 4, 6, 8, 0, 9, 7, 5, 3, 1    arr.Sort();    string s3 = string.Join(", ", arr.ToArray()); //0, 1, 2, 3, 4, 5, 6, 7, 8, 9    TextBox1.Text = s1 + "\n" + s2 + "\n" + s3;   }
插入與刪除:
protected void Button1_Click(object sender, EventArgs e){    ArrayList arr = new ArrayList(9); //指定容量    for (int i = 0; i 
IndexOf()、LastIndexOf():
protected void Button1_Click(object sender, EventArgs e){    char[] charArr = "google".ToCharArray();    ArrayList arr = new ArrayList(charArr); //其建立參數可以是一個 ICollection    string s1 = string.Join(", ", arr.ToArray()); //g, o, o, g, l, e    int n1 = arr.IndexOf('g');     //0    int n2 = arr.LastIndexOf('g'); //3    TextBox1.Text = string.Concat(s1, "\n", n1, "\n", n2);     }
BinarySearch():
protected void Button1_Click(object sender, EventArgs e){    string[] strArr = { "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" };    ArrayList arr = new ArrayList(strArr);    arr.Sort();    int i = arr.BinarySearch("nine");              //3    string str = string.Join(", ", arr.ToArray()); //eight, five, four, nine, one, seven, six, ten, three, two    TextBox1.Text = string.Concat(i, "\n", str);}
FixedSize()、ReadOnly()、IsFixedSize、IsReadOnly:
protected void Button1_Click(object sender, EventArgs e){    ArrayList arr = new ArrayList();    arr.Add("one");    arr = ArrayList.FixedSize(arr);    try { arr.Add("two"); }    catch (Exception err) { Response.Write(err.Message); }                   //集合的大小是固定的。    finally { TextBox1.Text = "FixedSize = " + arr.IsFixedSize.ToString(); } //FixedSize = True}protected void Button2_Click(object sender, EventArgs e){    ArrayList arr = ArrayList.Repeat("000", 3);    arr[0] = "AAA";    bool b1 = arr.IsReadOnly;      //False    arr = ArrayList.ReadOnly(arr);    bool b2 = arr.IsReadOnly;      //True    //arr[0] = "BBB";              //再賦值會異常    TextBox1.Text = string.Concat(b1, "\n", b2);}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.