當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。