📜  C#| List.TrimExcess方法(1)

📅  最后修改于: 2023-12-03 14:40:29.345000             🧑  作者: Mango

C# | List.TrimExcess方法

在C#中,List<T>是非常常用的数据结构之一,它提供了一个动态的数组来存储元素,并且可以方便地进行增删改查操作。但是,在某些情况下,我们可能需要进行一些性能优化,这时候就可以使用TrimExcess方法。本文将会介绍该方法的用法及其变量。

TrimExcess方法介绍

TrimExcess方法是List<T>类提供的一个方法,可以将一个List<T>对象的内部数组的容量变为实际元素数量。该方法可以用来减小底层数组的大小,从而节省内存空间,并且在添加元素的时候也能够提高性能。

使用方法

TrimExcess方法的使用非常简单,只需要调用即可。下面是使用示例:

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        List<int> list = new List<int>();
        list.Add(1);
        list.Add(2);
        list.Add(3);
        list.TrimExcess();
    }
}

上面的示例中,我们先创建了一个空的List<int>对象,然后添加了3个元素,最后调用了TrimExcess方法。

不过需要注意的是,当List<T>对象的容量已经等于或小于实际元素数量时,TrimExcess方法不会做任何事情。因此,我们在使用该方法时需要先判断当前容量是否需要削减。

变量介绍

TrimExcess方法不需要传入任何参数,也没有返回值。不过,在使用该方法前可以查看一下List<T>对象的Capacity属性,该属性表示当前内部数组的容量。

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        List<int> list = new List<int>();
        list.Add(1);
        list.Add(2);
        list.Add(3);
        Console.WriteLine(list.Capacity); // 输出 4
        list.TrimExcess();
        Console.WriteLine(list.Capacity); // 输出 3
    }
}

在上面示例中,我们通过Console.WriteLine输出了List<int>对象的Capacity属性,发现当前容量为4。而当调用TrimExcess方法后,容量变成了3。

结论

TrimExcess方法可以帮助我们减小List<T>对象的内部数组的大小,从而节省内存空间并且提高性能。但是,在使用该方法时需要注意当前内部数组的容量是否需要削减。

List<int> list = new List<int>();
list.Add(1);
list.TrimExcess(); // 当容量为1时,不需要削减
list.Add(2);
list.Add(3);
list.TrimExcess(); // 当容量为4时,需要削减