私はクラスArrayList
からメソッドAddRange
を使用して、私は例が見つかりました:インターフェイスいるICollectionとAddRange C#/。NET
ArrayList myAL = new ArrayList();
Queue myQueue = new Queue();
myQueue.Enqueue("jumped");
myQueue.Enqueue("over");
myQueue.Enqueue("the");
myQueue.Enqueue("lazy");
myQueue.Enqueue("dog");
// Copies the Queue elements to the end of the ArrayList.
myAL.AddRange(myQueue);
AddRange
はタイプICollection
のパラメータを持っていますが、一例では、私はおそらくので(Queue
クラスを与えることができますQueue
クラスはインターフェイスICollection
から継承されています)。 AddRange
のコールで何が起きているのか、インターフェイスタイプICollection
にQueue
クラスタイプをコピーしてください。
私はあなたの質問を理解していません。何が起こるかは、 'ICollection'の要素があなたの新しいリストに1つずつ追加されるということです。 – HimBromBeere
サイドノート: 'ArrayList'をもう使用しないでください。一般的な' List 'を使用してください。 –
私はこの機能を理解しています。しかし、ICollectionインタフェースのQueueオブジェクト(myQueue)をコピーすると、ヒープまたはスタックはどうなりますか? AddRangeがICollectionインターフェイスを予期している場合、どのようにAddRangeのQueueクラスをparamerとして使用できますか? – leoleo