当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C# List.TrimExcess用法及代码示例


List.TrimExcess方法用于将容量设置为List中元素的实际数量(如果该数量小于阈值)。

用法:

public void TrimExcess ();

注意:


  • 如果没有新元素添加到集合中,则可以使用此方法来最小化集合的内存开销。
  • 要将List重置为其初始状态,请在调用TrimExcess方法之前先调用Clear方法。
  • 修剪一个空的列表会将列表的容量设置为默认容量。
  • 但是,重新分配和复制大型List的成本可能很高,因此,如果列表的容量超过90%,TrimExcess方法将不执行任何操作。这样避免了以相对较小的收益而产生较大的重新分配成本。
  • 此方法是O(n)运算,其中n是Count。

以下示例程序旨在说明List.TrimExcess方法的用法:

示例1:

// C# code to set the capacity to the 
// actual number of elements in the List 
using System; 
using System.Collections.Generic; 
  
class GFG { 
  
    // Driver code 
    public static void Main() 
    { 
  
        // Creating a List of strings 
        List<string> mylist = new List<string>(); 
  
        // Inserting elements into List 
        mylist.Add("1"); 
        mylist.Add("2"); 
        mylist.Add("3"); 
        mylist.Add("4"); 
        mylist.Add("5"); 
  
        // To  display the capacity of list 
        Console.WriteLine(mylist.Capacity); 
  
        // To display number of elements in List 
        Console.WriteLine(mylist.Count); 
  
        // using TrimExcess method 
        mylist.TrimExcess(); 
  
        // To  display the capacity of list 
        Console.WriteLine(mylist.Capacity); 
  
        // To display number of elements in List 
        Console.WriteLine(mylist.Count); 
    } 
}

输出:

8
5
5
5

示例2:

// C# code to set the capacity to the 
// actual number of elements in the List 
using System; 
using System.Collections.Generic; 
  
class GFG { 
  
    // Driver code 
    public static void Main() 
    { 
  
        // Creating a List of integers 
        List<int> mylist = new List<int>(); 
  
        // Inserting elements into List 
        mylist.Add(45); 
        mylist.Add(78); 
        mylist.Add(32); 
        mylist.Add(231); 
        mylist.Add(123); 
        mylist.Add(76); 
        mylist.Add(726); 
        mylist.Add(716); 
        mylist.Add(876); 
  
        // To  display the capacity of list 
        Console.WriteLine(mylist.Capacity); 
  
        // To display number of elements in List 
        Console.WriteLine(mylist.Count); 
  
        // using TrimExcess method 
        mylist.TrimExcess(); 
  
        // To  display the capacity of list 
        Console.WriteLine(mylist.Capacity); 
  
        // To display number of elements in List 
        Console.WriteLine(mylist.Count); 
  
        // using clear method 
        mylist.Clear(); 
  
        // To  display the capacity of list 
        Console.WriteLine(mylist.Capacity); 
  
        // To display number of elements in List 
        Console.WriteLine(mylist.Count); 
    } 
}

输出:

16
9
9
9
9
0

参考:



相关用法


注:本文由纯净天空筛选整理自Kirti_Mangal大神的英文原创作品 C# | List.TrimExcess Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。