📜  C#|列表容量(1)

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

C# | 列表容量

在 C# 中,列表是一种动态数组,也称为 List。它可以存储不同类型的元素。列表动态增长和缩小,它可以自动扩展以容纳新元素,也可以自动收缩以删除元素。列表有一个容量属性,用于控制列表的初始大小和自动扩展和缩小时的行为。

获取列表容量

列表的容量表示列表可以包含的元素数目。使用列表的 Capacity 属性可以获取或设置列表的容量。

    List<int> numbers = new List<int>();
    Console.WriteLine(numbers.Capacity); // 输出 0

在上面的示例中,我们创建了一个空整数列表并打印了它的容量。由于该列表是空的,它的容量为 0。

设置列表容量

列表的容量自动增长和缩小,但可以通过设置 Capacity 属性来改变列表的容量。

    List<int> numbers = new List<int>();
    Console.WriteLine(numbers.Capacity); // 输出 0

    numbers.Capacity = 10;
    Console.WriteLine(numbers.Capacity); // 输出 10

在上面的示例中,我们首先打印了一个空的整数列表的容量,然后设置了列表的容量为 10,并再次打印了容量。

要设置列表容量,请使用列表的 Capacity 属性,它可以设置列表的容量。

值得注意的是:

  • 如果将 Capacity 属性设置为小于 Count 的值,则会移除列表中的多余元素,直到列表的 Count 等于新的 Capacity
    List<int> numbers = new List<int>() { 1, 2, 3, 4, 5 };
    Console.WriteLine(numbers.Count); // 输出 5

    numbers.Capacity = 3;
    Console.WriteLine(numbers.Capacity); // 输出 3
    Console.WriteLine(numbers.Count); // 输出 3

在上面的示例中,我们创建了一个整数列表,并将容量设置为 3。由于列表当前包含 5 个元素,因此会自动删除两个元素,使列表的 Count 等于 3。

  • 如果将 Capacity 属性设置为大于 Count 的值,则不会添加任何元素到列表中。
    List<int> numbers = new List<int>() { 1, 2, 3, 4, 5 };
    Console.WriteLine(numbers.Count); // 输出 5

    numbers.Capacity = 10;
    Console.WriteLine(numbers.Capacity); // 输出 10
    Console.WriteLine(numbers.Count); // 输出 5

在上面的示例中,我们创建了一个整数列表,并将容量设置为 10。由于列表当前包含 5 个元素,因此不需要添加任何元素到列表中。

总结

在 C# 中,列表是一种动态数组,它可以存储不同类型的元素。列表具有 Capacity 属性,该属性用于控制列表的初始大小和自动扩展和缩小时的行为。通过设置 Capacity 属性,我们可以改变列表的容量,包括添加和删除多余元素。