📜  C#|从SortedList中删除所有元素

📅  最后修改于: 2021-05-29 22:28:38             🧑  作者: Mango

SortedList类是根据键对(键,值)对进行排序的集合。可以通过键和索引(从零开始的索引)访问这些对。它位于System.Collections命名空间下。 SortedList.Clear方法用于从SortedList对象中删除所有元素。

特性:

  • 可以通过其键或索引来访问SortedList元素。
  • SortedList对象在内部维护两个数组来存储列表的元素,即,一个数组用于键,另一个数组用于关联的值。
  • 键不能为null,但值可以为null。
  • SortedList对象的容量是SortedList可以容纳的元素数。
  • SortedList不允许重复的键。
  • 由于排序,对SortedList对象的操作往往比对Hashtable对象的操作要慢。
  • 可以使用整数索引访问此集合中的元素。此集合中的索引从零开始。

句法 :

public virtual void Clear ();

例外情况:

  • NotSupportedException:如果SortedList对象是只读的或具有固定的大小。

例子:

// C# code to remove all
// elements from a SortedList
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating an SortedList
        SortedList mySortedList = new SortedList();
  
        // Adding elements to SortedList
        mySortedList.Add("1", "1st");
        mySortedList.Add("2", "2nd");
        mySortedList.Add("3", "3rd");
        mySortedList.Add("4", "4th");
        mySortedList.Add("5", "5th");
        mySortedList.Add("6", "6th");
        mySortedList.Add("7", "7th");
  
        // Displaying number of elements
        Console.WriteLine("Number of elements in SortedList is : " 
                                            + mySortedList.Count);
  
        // Displaying capacity
        Console.WriteLine("capacity of SortedList is : " 
                               + mySortedList.Capacity);
  
        // Removing all elements from SortedList
        mySortedList.Clear();
  
        // Displaying number of elements
        Console.WriteLine("Number of elements in SortedList is : "
                                            + mySortedList.Count);
  
        // Displaying capacity
        Console.WriteLine("capacity of SortedList is : " 
                               + mySortedList.Capacity);
    }
}
输出:
Number of elements in SortedList is : 7
capacity of SortedList is : 16
Number of elements in SortedList is : 0
capacity of SortedList is : 16

笔记:

  • 此方法是O(n)运算,其中n是Count。
  • Count设置为零,并且还释放对集合元素中其他对象的引用。
  • 容量保持不变。若要重置SortedList对象的容量,请调用TrimToSize或直接设置Capacity属性。
  • 修剪空的SortedList会将SortedList的容量设置为默认容量。

参考:

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