AddRange(ICollection)方法用于将ICollection的元素添加到ArrayList的末尾。换句话说,此方法用于将其他集合中的多个元素添加到ArrayList中。在这里,元素被定义为原始或非原始类型。
句法:
public virtual void AddRange (ICollection col);
在这里, col是一个ICollection,其元素应添加到ArrayList的末尾。集合本身不能为null,但可以包含null元素。
例外:
- 如果col的值为null,则此方法将提供ArgumentNullException 。
- 如果ArrayList是只读的,或者ArrayList具有固定大小,则此方法将提供NotSupportedException
下面给出了一些示例,以更好地理解实现:
范例1:
// C# program to illustrate the AddRange() Method
using System;
using System.Collections;
class GFG {
// Main method
public static void Main()
{
// Creates and initializes a new ArrayList
ArrayList mylist = new ArrayList();
mylist.Add("C# ");
mylist.Add("DSA ");
mylist.Add("Java ");
mylist.Add("CPP");
// Creates and initializes a new Queue
Queue mydata = new Queue();
mydata.Enqueue("C ");
mydata.Enqueue("Python ");
mydata.Enqueue("HTML ");
mydata.Enqueue("CSS ");
mydata.Enqueue("JavaScript ");
mydata.Enqueue("Ruby");
// Displays the ArrayList and the Queue.
Console.Write("The original ArrayList: ");
Data(mylist);
Console.Write("The original Queue: ");
Data(mydata);
// Copies the elements of the queue to the end of the ArrayList.
mylist.AddRange(mydata);
// Displays the new ArrayList.
Console.Write("The new ArrayList is: ");
Data(mylist);
}
// method to display the ArrayList
// and Queue elements
public static void Data(IEnumerable mylis)
{
foreach(string str in mylis)
Console.Write("{0}", str);
Console.WriteLine();
}
}
输出:
The original ArrayList: C# DSA Java CPP
The original Queue: C Python HTML CSS JavaScript Ruby
The new ArrayList is: C# DSA Java CPPC Python HTML CSS JavaScript Ruby
范例2:
// C# program to illustrate
// the AddRange() Method
using System;
using System.Collections;
public class GFG {
// Main method
public static void Main()
{
// Creates and initializes a new ArrayList.
ArrayList mylist = new ArrayList();
mylist.Add(5);
mylist.Add(10);
mylist.Add(15);
mylist.Add(20);
mylist.Add(25);
// Creates and initializes a new ArrayList.
ArrayList mydata = new ArrayList();
mydata.Add(30);
mydata.Add(35);
mydata.Add(40);
mydata.Add(45);
mydata.Add(50);
// Displays both ArrayList.
Console.WriteLine("The ArrayList 1: ");
foreach(int i in mylist)
{
Console.WriteLine(i);
}
Console.WriteLine("The ArrayList 2: ");
foreach(int j in mydata)
{
Console.WriteLine(j);
}
// Copies the elements of the mydata
// to the end of the mylist
mylist.AddRange(mydata);
// Displays the new ArrayList.
Console.WriteLine("The new ArrayList is :");
for (int k = 0; k < mylist.Count; k++)
Console.WriteLine(mylist[k]);
}
}
输出:
The ArrayList 1:
5
10
15
20
25
The ArrayList 2:
30
35
40
45
50
The new ArrayList is :
5
10
15
20
25
30
35
40
45
50
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.arraylist.addrange?view=netframework-4.7.2#System_Collections_ArrayList_AddRange_System_Collections_ICollection_