Прочитать на английском

Поделиться через


ArrayList.AddRange(ICollection) Метод

Определение

Добавляет элементы интерфейса ICollection в конец списка ArrayList.

public virtual void AddRange (System.Collections.ICollection c);

Параметры

c
ICollection

Интерфейс ICollection, элементы которого добавляются в конец списка ArrayList. Сама коллекция не может иметь значение null, но может содержать элементы со значением null.

Исключения

c имеет значение null.

Объект ArrayList доступен только для чтения.

-или-

ArrayList имеет фиксированный размер.

Примеры

В следующем примере кода показано, как добавить элементы в .ArrayList

using System;
using System.Collections;
public class SamplesArrayList  {

   public static void Main()  {

      // Creates and initializes a new ArrayList.
      ArrayList myAL = new ArrayList();
      myAL.Add( "The" );
      myAL.Add( "quick" );
      myAL.Add( "brown" );
      myAL.Add( "fox" );

      // Creates and initializes a new Queue.
      Queue myQueue = new Queue();
      myQueue.Enqueue( "jumps" );
      myQueue.Enqueue( "over" );
      myQueue.Enqueue( "the" );
      myQueue.Enqueue( "lazy" );
      myQueue.Enqueue( "dog" );

      // Displays the ArrayList and the Queue.
      Console.WriteLine( "The ArrayList initially contains the following:" );
      PrintValues( myAL, '\t' );
      Console.WriteLine( "The Queue initially contains the following:" );
      PrintValues( myQueue, '\t' );

      // Copies the Queue elements to the end of the ArrayList.
      myAL.AddRange( myQueue );

      // Displays the ArrayList.
      Console.WriteLine( "The ArrayList now contains the following:" );
      PrintValues( myAL, '\t' );
   }

   public static void PrintValues( IEnumerable myList, char mySeparator )  {
      foreach ( Object obj in myList )
         Console.Write( "{0}{1}", mySeparator, obj );
      Console.WriteLine();
   }
}


/*
This code produces the following output.

The ArrayList initially contains the following:
    The    quick    brown    fox
The Queue initially contains the following:
    jumps    over    the    lazy    dog
The ArrayList now contains the following:
    The    quick    brown    fox    jumps    over    the    lazy    dog
*/

Комментарии

ArrayList null принимает в качестве допустимого значения и допускает дублирование элементов.

Порядок элементов в ICollection сохраняется в ArrayList.

Если новый Count (текущий Count плюс размер коллекции) будет больше , емкость Capacityувеличивается путем автоматического ArrayList перераспределения внутреннего массива для размещения новых элементов, а существующие элементы копируются в новый массив перед добавлением новых элементов.

Если может ArrayList вместить новые элементы без увеличения Capacity, этот метод является операцией O(n) , где n — количество добавляемых элементов. Если емкость необходимо увеличить для размещения новых элементов, этот метод становится операцией O(n + m) , где n — количество добавляемых элементов, а mCount.

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

См. также раздел