C#中如何动态设置一个数组的长度?下列这种定义方式是否正确:
int i = 3 ;
byte[] b = new byte[ i ] ;???????????????????????????????????????

解决方案 »

  1.   

    你可以用动态数组呀
    arraylist b=new arraylist();
      

  2.   

    Array 类好像还有一个CreateInstance吧~
      

  3.   

    ArrayList 的容量是该列表可包含的元素数。随着向 ArrayList 中添加元素,容量通过重新分配按需自动增加。可通过调用 TrimToSize 或通过显式设置 Capacity 属性来减少容量。此集合中的索引从零开始。ArrayList 接受空引用(Visual Basic 中为 Nothing)作为有效值并且允许重复的元素。
    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( "\tCount:    {0}", myAL.Count );
          Console.WriteLine( "\tCapacity: {0}", myAL.Capacity );
          Console.Write( "\tValues:" );
          PrintValues( myAL );
       }   public static void PrintValues( IEnumerable myList )  {
          System.Collections.IEnumerator myEnumerator = myList.GetEnumerator();
          while ( myEnumerator.MoveNext() )
             Console.Write( "\t{0}", myEnumerator.Current );
          Console.WriteLine();
       }
    }
    /* 
    This code produces the following output.myAL
        Count:    3
        Capacity: 16
        Values:    Hello    World    !
    */
      

  4.   

    ArrayList   最适合了!
    象楼住的定义方式,肯定是错的
      

  5.   

    ArrayList al=new ArrayList ();
    al.Add (5);
    al.Add (6);
    for(int i=0;i<al.Count ;i++)
    MessageBox.Show (al[i].ToString ());//结果:
    5
    6