Capacity的值

来源:百度知道 编辑:UC知道 时间:2024/09/12 14:59:18
using System;
using System.Collections;

public class A
{
public static void Main()
{
ArrayList myArrLst = new ArrayList();
Console.WriteLine("输入下面5个国家名称:");
for (int i = 0; i <= 4; i++)
{
Console.Write("输入国家{0}:",i+1);
string str1 = Console.ReadLine();
myArrLst.Add(str1);
}
Console.WriteLine("国家信息");
Console.WriteLine("\t数量:{0}", myArrLst.Count);
Console.WriteLine("\t容量:{0}", myArrLst.Capacity); //问题所在
Console.WriteLine("数组列表的内容如下");
System.Collections.IEnumerator myEnumerator = myArrLst.GetEnumerator();
while (myEnumerator.MoveNext())
Console.Write("\n{0}", myEnumerator.Current);
Console.ReadLine();
}
}
运行时,假设我按照提示输入:

你是不是看错了哦 应该是8才对哦
第一次 CAP=1
第二次 CAP=2
第三次 CAP不够装了 翻倍变成4;
第四次 还是4;
第五次 cap又不够装了 翻倍为8
我在 我机子上调试了 你的程序 应该是8才对

Capacity你可以在初始化对象的时候给出:new ArrayList(int Capacity);

当你加入的元素超过Capacity的时候,Capacity会自动增加。所以你不用去控制。你可以当他是不确定的,除非你知道元素的个数,给定Capacity一个确定的值。