C〓中ArayとArayListの詳細解と違い


C〓中ArayとArayListの詳細解と違い
一、アレの使い方

  type[]  typename=new type[size]; 
  または  

 type[]  typename=new type[]{ }; 
 Arayタイプの変数は、宣言と同時に実装される必要があります(初期化する場合は少なくとも配列のサイズを初期化します)。
 普段私たちはint[],string[]…実はarray配列を宣言しています。
   例えば:

 string [] srt=new string[]{"a","b"};

     int[] a=new int[2]; string [] srt=new string[3];

(1):typeデータタイプは欠かせません。また統一して、int[a=new Aray];
(2):配列のサイズはsizeでなくてはいけません。そうでないとcxiは間違いだと思います。配列は固定された長さのメモリですから。
(3):右は中かっこ[]であり、()ではない。
注:array配列は、add、clear、addRange.方法ではなく、直接設定または取得値を提供します。
如:a[0]=0  a[1]=1
二、C胻ArayList配列の使い方:

var arrayList = new ArrayList();

      arrayList.Add(1);
      arrayList.Add(2);
      arrayList.Add(50.0); // .net 4.0   。           
      foreach (var array in arrayList)
      {
        Console.WriteLine(array);
      }

第三に、ArayListとArayの相互変換

 var arrayList = new List<int>();
      arrayList.Add(1);
      arrayList.Add(2);
      arrayList.Add(50);

      //ArrayList         Array  
      int[] array1=new int[arrayList.Count];
      arrayList.CopyTo(array1); //   
      int[] array2 = arrayList.ToArray(); //   

四、「ArayとArayListの違い」
クラウド1.Arayタイプの変数は声明の中で実用化されなければならない(少なくとも配列の大きさを初期化しなければならない)が、ArayListは先に声明するだけでよい。
例えば: 

int[] array = new array[3];
   int[] array = {1,2,3};
   ArrayList myList = new ArrayList();
これらは合法的で、直接的にint[]arrayを使用します。だめです。
ヒドラ2.Arayは同じオブジェクトしか記憶できないが、ArayListは異性のオブジェクトを記憶することができる。
同じ構成のオブジェクトは同じタイプのオブジェクトを指し、int[]と宣言した配列は整形データのみを保存し、string[]は文字型データのみを保存することができますが、Object[]と宣言した配列は除外されます。
ArayListはどのような種類のデータを保存できますか?items;このようなプライベートフィールドは、オブジェクトをカプセル化するためのものです。
󑧙3 CLR委託管理ペアにおける保管方式
Arayは常に連続して保存されているが、ArayListの保存は必ずしも連続していない。
ハ4初期化サイズ
Arayオブジェクトの初期化は、指定されたサイズだけを決定し、作成された配列サイズは固定されていなければなりません。
ArayListのサイズは、初期化時に指定することができ、指定しなくても良い、つまり、オブジェクトの空間を任意に増やすことができます。
ピラー5 Arayは、任意の位置で項目を挿入して削除することができます。
五、[ArayとArayListの類似点]
󑧙1は、インデックス(index)を持っています。すなわち、indexによって任意の項目を直接取得し、修正することができます。
彼らが創建した対象は全部信託パイプの中に置いてあります。
皱3は自分自身を列挙できる(IEnumerableインターフェースが実現されているため)。
六、[ArayListのいくつかの特性]

var arrayList = new List<int>(2);
 Console.WriteLine(arrayList.Capacity);
      
      int size = 2;
      for (int i = 0; i < size; i++)
      {
        arrayList.Add(i);
      }
   
      Console.WriteLine("compressed capacity:"+arrayList.Capacity); 
sizeが2の場合、出力結果の「current capacity」は2、
sizeが3または4の場合、「current capacity」は4であり、
sizeが5~8の場合、「current capacity」は8、
sizeが9~16の場合、「current capacity」は16、
実験によって結論が得られます。それは、ArayListの実際に存在するオブジェクト数(ArayList.Count)が自身のCapacityしきい値を超えると、そのしきい値は自動的に倍になります。

 ArrayList myList = new ArrayList(5);

      for (int i = 0; i < 3; i++)
      {
        myList.Add(i);
      }
      Console.WriteLine("actual capacity:" + myList.Capacity);
      myList.TrimToSize();
      Console.WriteLine("compressed capacity:" + myList.Capacity);
      
      Console.ReadLine();

出力:

actual capacity:5
compressed capacity:3
読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。