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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。