📜  C#| ArrayList.InsertRange()方法

📅  最后修改于: 2021-05-30 01:05:14             🧑  作者: Mango

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