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
參考:
相關用法
- C# DateTimeOffset.Add()用法及代碼示例
- C# String.Contains()用法及代碼示例
- C# Math.Sin()用法及代碼示例
- C# Math.Cos()用法及代碼示例
- C# Dictionary.Add()用法及代碼示例
- C# Math.Tan()用法及代碼示例
- C# Math.Abs()方法用法及代碼示例
- C# Math.Exp()用法及代碼示例
- C# Math.Abs()函數用法及代碼示例
注:本文由純淨天空篩選整理自Kirti_Mangal大神的英文原創作品 C# | List.TrimExcess Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。