C#中的ArrayList.InsertRange(Int32,ICollection)方法用于将集合中的元素插入到指定索引处的ArrayList中。那就是插入的元素属于一个集合(即队列等)。
句法:
public virtual void InsertRange (int index, ICollection element);
参数:
- index :它是index ,要在其中插入新元素。
- element :这是ICollection,其元素将以指定的索引插入到ArrayList中。
注意:集合不能为null,但可以包含null的元素。
例外情况:
- ArgumentNullException:如果元素为null。
- ArgumentOutOfRangeException:如果索引小于零或索引大于计数器。
- NotSupportedException:如果ArrayList为只读或ArrayList具有固定大小。
范例1:
// C# program to demonstrate the
// ArrayList.InsertRange(Int32,
// ICollection) Method
using System;
using System.Collections;
class GFG {
// Main Method
public static void Main()
{
// initializes a new ArrayList
ArrayList ArrList = new ArrayList();
// adding values in the
// ArrayList using "Add"
ArrList.Add("A");
ArrList.Add("D");
ArrList.Add("E");
ArrList.Add("F");
// initializes a new Stack
// as collection
Stack s = new Stack();
// pushing values in the stack
// values are pop as B, C
s.Push("C");
s.Push("B");
// Displays the ArrayList and the Queue
Console.WriteLine("The ArrayList initially has:");
Display(ArrList);
Console.WriteLine("The collection initially has:");
Display(s);
// Copies the elements of the stack
// to the ArrayList at index 1.
ArrList.InsertRange(1, s);
// Displays the ArrayList.
Console.WriteLine("After insert the collection in the ArrList:");
Display(ArrList);
}
// Display function
public static void Display(IEnumerable ArrList)
{
foreach(Object a in ArrList)
{
Console.Write(" " + a);
}
Console.WriteLine();
}
}
输出:
The ArrayList initially has:
A D E F
The collection initially has:
B C
After insert the collection in the ArrList:
A B C D E F
范例2: +
// C# program to demonstrate the
// ArrayList.InsertRange(Int32,
// ICollection) Method
using System;
using System.Collections;
class GFG {
// Main Method
public static void Main()
{
// initializes a new ArrayList
ArrayList ArrList = new ArrayList();
// adding values in the ArrayList
// using "Insert" method
ArrList.Insert(0, "A");
ArrList.Insert(1, "D");
ArrList.Insert(2, "E");
ArrList.Insert(3, "G");
// Initializes a new Stack
// as collection
Stack s = new Stack();
// pushing values in the stack
// values are pop as B, C
s.Push("C");
s.Push("B");
// Displays the ArrayList and the Queue.
Console.WriteLine("The ArrayList initially has:");
Display(ArrList);
Console.WriteLine("The collection initially has:");
Display(s);
// Copies the elements of the stack
// to the ArrayList at index 1.
ArrList.InsertRange(1, s);
// Displays the ArrayList.
Console.WriteLine("After insert the collection in the ArrList:");
Display(ArrList);
// insert F by finding the index of G
// using IndexOf() method
ArrList.Insert(ArrList.IndexOf("G"), "F");
Console.WriteLine("After inserting F before G:");
Display(ArrList);
}
// Display function
public static void Display(IEnumerable ArrList)
{
foreach(Object a in ArrList)
{
Console.Write(" " + a);
}
Console.WriteLine();
}
}
输出:
The ArrayList initially has:
A D E G
The collection initially has:
B C
After insert the collection in the ArrList:
A B C D E G
After inserting F before G:
A B C D E F G
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.arraylist.insertrange?view=netframework-4.8