📌  相关文章
📜  C#|从ArrayList中删除第一次出现的特定对象

📅  最后修改于: 2021-05-29 19:39:25             🧑  作者: Mango

ArrayList表示可以单独索引的对象的有序集合。基本上,它是数组的替代方法。它还允许动态分配内存,添加,搜索和排序列表中的项目。 ArrayList.Remove(Object)方法用于从ArrayList中删除特定对象的首次出现。

特性:

  • 可以随时在数组列表集合中添加或删除元素。
  • 不能保证对ArrayList进行排序。
  • ArrayList的容量是ArrayList可以容纳的元素数。
  • 可以使用整数索引访问此集合中的元素。此集合中的索引从零开始。
  • 它还允许重复的元素。
  • 不支持将多维数组用作ArrayList集合中的元素。

句法:

public virtual void Remove (object obj);

在这里, obj是要从ArrayList中删除的对象。该值可以为空。

例外:如果ArrayList为只读或具有固定大小,则此方法将提供NotSupportedException。

下面给出了一些示例,以更好地理解实现:

范例1:

// C# code to remove the first 
// occurrence of a specific 
// object from the ArrayList
using System; 
using System.Collections; 
  
class GFG { 
  
    // Driver code 
    public static void Main() 
    { 
  
        // Creating an ArrayList 
        ArrayList myList = new ArrayList(10); 
  
        // Adding elements to ArrayList 
        myList.Add("C"); 
        myList.Add("C#"); 
        myList.Add("Java"); 
        myList.Add("C#"); 
        myList.Add("PHP"); 
        myList.Add("C#"); 
  
        // Displaying the elements in ArrayList 
        Console.WriteLine("The elements in ArrayList initially are :"); 
  
        foreach(string str in myList) 
            Console.WriteLine(str); 
  
        // Removing the first 
        // occurrence of C#
        myList.Remove("C#"); 
  
        // Displaying the elements in ArrayList 
        Console.WriteLine("The elements in ArrayList are :"); 
  
        foreach(string str in myList) 
            Console.WriteLine(str); 
    } 
} 

输出:

The elements in ArrayList initially are :
C
C#
Java
C#
PHP
C#
The elements in ArrayList are :
C
Java
C#
PHP
C#

范例2:

// C# code to remove the first 
// occurrence of a specific 
// object from the ArrayList
using System; 
using System.Collections; 
  
class GFG { 
  
    // Driver code 
    public static void Main() 
    { 
  
        // Creating an ArrayList 
        ArrayList myList = new ArrayList(10); 
  
        // Adding elements to ArrayList 
        myList.Add("Geeks"); 
        myList.Add("Noida"); 
        myList.Add("Classes"); 
        myList.Add("GFG"); 
        myList.Add("DS"); 
        myList.Add("Algorithms"); 
  
        // Displaying the elements in ArrayList 
        Console.WriteLine("The elements in ArrayList initially are :"); 
  
        foreach(string str in myList) 
            Console.WriteLine(str); 
  
        // Removing the first 
        // occurrence of HTML
        // As HTML is not present so
        // it return the ArrayList as it is
        myList.Remove("HTML"); 
  
        // Displaying the elements in ArrayList 
        Console.WriteLine("The elements in ArrayList are :"); 
  
        foreach(string str in myList) 
            Console.WriteLine(str); 
    } 
} 

输出:

The elements in ArrayList initially are :
Geeks
Noida
Classes
GFG
DS
Algorithms
The elements in ArrayList are :
Geeks
Noida
Classes
GFG
DS
Algorithms

笔记:

  • 此方法执行线性搜索,因此,此方法是O(n)运算,其中n是Count。
  • 如果ArrayList不包含指定的对象,则ArrayList保持不变。没有异常被抛出。

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.arraylist.remove?view=netframework-4.7.2