将容量设置为C#中SortedList对象中元素的实际数量?

要将容量设置为SortedList对象中元素的实际数量,代码如下-

示例

using System;
using System.Collections;
public class Demo {
   public static void Main(String[] args) {
      SortedList sortedList = new SortedList();
      sortedList.Add("A", "1");
      sortedList.Add("B", "2");
      sortedList.Add("C", "3");
      sortedList.Add("D", "4");
      sortedList.Add("E", "5");
      sortedList.Add("F", "6");
      sortedList.Add("G", "7");
      sortedList.Add("H", "8");
      sortedList.Add("I", "9");
      sortedList.Add("J", "10");
      Console.WriteLine("SortedList elements...");
      foreach(DictionaryEntry d in sortedList) {
         Console.WriteLine("Key = "+d.Key + ", Value = " + d.Value);
      }
      Console.WriteLine("\nEnumerator to iterate through the SortedList...");      
      IDictionaryEnumerator demoEnum = sortedList.GetEnumerator();
      while (demoEnum.MoveNext())
      Console.WriteLine("Key = " + demoEnum.Key + ", Value = "+ demoEnum.Value);
      Console.WriteLine("Count of SortedList key-value pairs = "+sortedList.Count);
      Console.WriteLine("Capacity of SortedList = "+sortedList.Capacity);
      sortedList.TrimToSize();
      Console.WriteLine("Capacity of SortedList (Updated) = "+sortedList.Capacity);
   }
}

输出结果

这将产生以下输出-

SortedList elements...
Key = A, Value = 1
Key = B, Value = 2
Key = C, Value = 3
Key = D, Value = 4
Key = E, Value = 5
Key = F, Value = 6
Key = G, Value = 7
Key = H, Value = 8
Key = I, Value = 9
Key = J, Value = 10
Enumerator to iterate through the SortedList...
Key = A, Value = 1
Key = B, Value = 2
Key = C, Value = 3
Key = D, Value = 4
Key = E, Value = 5
Key = F, Value = 6
Key = G, Value = 7
Key = H, Value = 8
Key = I, Value = 9
Key = J, Value = 10
Count of SortedList key-value pairs = 10
Capacity of SortedList = 16
Capacity of SortedList (Updated) = 10

示例

现在让我们来看另一个示例-

using System;
using System.Collections;
public class Demo {
   public static void Main(String[] args) {
      SortedList list1 = new SortedList();
      list1.Add("One", 1);
      list1.Add("Two ", 2);
      list1.Add("Three ", 3);
      list1.Add("Four", 4);
      list1.Add("Five", 5);
      list1.Add("Six", 6);
      list1.Add("Seven ", 7);
      list1.Add("Eight ", 8);
      list1.Add("Nine", 9);
      list1.Add("Ten", 10);
      Console.WriteLine("SortedList1 elements...");
      foreach(DictionaryEntry d in list1) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("\nList of keys...SortedList1");
      IList list = list1.GetKeyList();
      foreach(string res in list)
         Console.WriteLine(res);
      Console.WriteLine("Capacity of SortedList1 = "+list1.Capacity);
      list1.TrimToSize();
      Console.WriteLine("Capacity of SortedList1 (Updated) = "+list1.Capacity);
      SortedList list2 = new SortedList();
      list2.Add("A", "Accessories");
      list2.Add("B", "Books");
      list2.Add("C", "Smart Wearable Tech");
      list2.Add("D", "Home Appliances");
      Console.WriteLine("\nSortedList2 elements...");
      foreach(DictionaryEntry d in list2) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("\nList of keys...SortedList2");
      list = list2.GetKeyList();
      foreach(string res in list)
         Console.WriteLine(res);
      Console.WriteLine("Capacity of SortedList2 = "+list2.Capacity);
      list2.TrimToSize();
      Console.WriteLine("Capacity of SortedList2 (Updated) = "+list2.Capacity);
   }
}

输出结果

这将产生以下输出-

SortedList1 elements...
Eight  8
Five 5
Four 4
Nine 9
One 1
Seven  7
Six 6
Ten 10
Three  3
Two  2
List of keys...SortedList1
Eight
Five
Four
Nine
One
Seven
Six
Ten
Three
Two
Capacity of SortedList1 = 16
Capacity of SortedList1 (Updated) = 10
SortedList2 elements...
A Accessories
B Books
C Smart Wearable Tech
D Home Appliances
List of keys...SortedList2
A
B
C
D
Capacity of SortedList2 = 16
Capacity of SortedList2 (Updated) = 4
L