rt

解决方案 »

  1.   

    不开源就是不方便啊,,,java里我可以通过
    public ArrayList() {
        this(10);
    }
    轻易得知他的默认容量是10,,,C#里只有查资料了…………
      

  2.   

    using System;
    using System.Collections;
    public class SamplesArrayList  {   public static void Main()  {      // Creates and initializes a new ArrayList.
          ArrayList myAL = new ArrayList();
          myAL.Add("Hello");
          myAL.Add("World");
          myAL.Add("!");      // Displays the properties and values of the ArrayList.
          Console.WriteLine( "myAL" );
          Console.WriteLine( "    Count:    {0}", myAL.Count );
          Console.WriteLine( "    Capacity: {0}", myAL.Capacity );
          Console.Write( "    Values:" );
          PrintValues( myAL );
       }   public static void PrintValues( IEnumerable myList )  {
          foreach ( Object obj in myList )
             Console.Write( "   {0}", obj );
          Console.WriteLine();
       }}
    /* 
    This code produces the following output.myAL
        Count:    3
        Capacity: 16
        Values:   Hello   World   !*/这个是我在C#帮助里面查到的,我学的书上也是说myAL.Capacity 的默认容量是16
    可是我自己做的时候:在ArrayList里面添加三个元素,默认的容量是4
    我就好奇的运行了上面帮助文档中的代码
    运行的结果如下:默认的容量是4
    myAL
        Count:    3
        Capacity: 4
        Values:   Hello   World   !我想还是应该相信自己的实践,默认容量应为4
      

  3.   

    ArrayList Capacity 默认的是0StringBuilder Capacity默认是16都是超过Capacity两倍增长哪来的ArrayList的Capacity默认是16呐