C#非泛型集合類-ArrayList刪除元素


ArrayList提供了三種方法將指定元素從集合中移除,這三種方法是Remove、RemoveAt和RemoveRange方法。

—Remove方法接受一個object類型值的參數,用於移除指定元素值的第一個匹配集合元素。
—RemoveAt方法接受一個int類型的參數,用於刪除指定索引的集合元素。
—RemoveRange方法從集合中移除一定范圍的元素。

這三個方法的聲明如下所示。

public void Remove(object obj);
//從ArrayList實例中刪除與obj值匹配的第一個元素

public void RemoveAt(int index);
//刪除指定索引位置index的元素

 

public void RemoveRange(int index, int count);
//從指定索引位置index開始,移除count個元素

public void Clear();
//可以移除所有元素

下面示例演示了使用Remove方法:

using System;
using System.Collections;
class Program
{
static void Main(string[]args)
{
    ArrayList al = new ArrayList(20);
    al.AddRange(new string[8]
    {
      "元素一", "元素二", "元素三", "元素四", "元素五", "元素六", "元素七",
        "元素八"
    }
    );
    //調用Remove方法刪除配置元素
    al.Remove("元素二");
    //調用RemoveAt方法刪除指定索引位置元素
    al.RemoveAt(2);
    //調用RemoveRange方法刪除指定范圍的元素
    al.RemoveRange(3, 2);
    foreach (string s in al)
    {
      Console.WriteLine(s);
    }
    Console.ReadLine();
}
}

結果為:
元素一
元素三
元素五
元素八

這里要注意:當刪除一個元素后,刪除位置后的所有元素都會自動遞增一個位置,即索引值減1。

我們再看一個例子:

ArrayList lst=new ArrayList();
lst.Add("香蕉");
lst.Add(“蘋果”);
lst.Add(“芒果”);
lst.Remove(“蘋果”);//刪除元素蘋果
lst.RemoveAt(1);//刪除元素芒果
lst.Clear();//刪除所有元素

這個例子賦值后,香蕉的索引值為0,蘋果的值為索引值為1,刪除了蘋果后,芒果的索引值變為1,所以刪除元素芒果時參數為1。


免責聲明!

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



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