C#在Collection <T>中的指定索引处插入元素

给定Integer的Collection <T>,我们必须在给定的索引处插入一个元素。

要在Collection <T>中插入元素,我们使用Insert()方法,它接受两个参数index和item,其中index是整数类型,而item是T类型,即Collection <T>的类型。

语法:

    public void Insert (int index, T item);

注意: 如果index小于0或大于count,则Insert()方法可能返回异常(ArgumentOutOfRangeException)。

用C#代码在Collection <T>中插入元素

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

class Nhooo
{
    public static void Main()
    {
        // 声明整数的集合
        Collection<int> iColl = new Collection<int>();

        // 向集合中添加元素
        iColl.Add(100);
        iColl.Add(200);
        iColl.Add(300);
        iColl.Add(400);

        // 显示元素总数
        Console.WriteLine("元素总数: " + iColl.Count);

        // 显示所有元素 
        foreach (int ele in iColl)
        {
            Console.WriteLine(ele);
        }

        // 现在在第三索引处插入900
        iColl.Insert(3, 900);

        // 显示元素总数
        Console.WriteLine("元素总数: " + iColl.Count);

        // 显示所有元素 
        foreach (int ele in iColl)
        {
            Console.WriteLine(ele);
        }
    } 
}

输出结果

元素总数: 4
100
200
300
400
元素总数: 5
100
200
300
900
400

显示异常

在这里,我们将在-1索引处插入一个元素,该元素将生成“ ArgumentOutOfRangeException”异常。

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

class nhooo
{
    public static void Main()
    {
        // 声明整数的集合
        Collection<int> iColl = new Collection<int>();

        // 向集合中添加元素
        iColl.Add(100);
        iColl.Add(200);
        iColl.Add(300);
        iColl.Add(400);

        // 显示元素总数
        Console.WriteLine("Total number of elements: " + iColl.Count);

        // 显示所有元素 
        foreach (int ele in iColl)
        {
            Console.WriteLine(ele);
        }

        // 现在在-1索引处插入900
        // 会产生异常
        iColl.Insert(-1, 900);

        // 显示元素总数
        Console.WriteLine("Total number of elements: " + iColl.Count);

        // 显示所有元素 
        foreach (int ele in iColl)
        {
            Console.WriteLine(ele);
        }
    } 
}

输出结果

Total number of elements: 4
100
200
300
400

Unhandled Exception:
System.ArgumentOutOfRangeException: Index must be within the bounds of the List.
Parameter name: index
  at System.ThrowHelper.ThrowArgumentOutOfRangeException 
  (System.ExceptionArgument argument,System.ExceptionResourceresource) [0x00029] 
  in <65984520577646ec9044386ec4a7b3dd>:0 
  at System.Collections.ObjectModel.Collection`1[T].Insert (System.Int32 index, T item) 
  [0x00026] in <65984520577646ec9044386ec4a7b3dd>:0 
  atnhooo.Main() [0x0007f] in <d658237a48934373b441d64c47cad823>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentOutOfRangeException: 
    Index must be within the bounds of the List.
Parameter name: index
  at System.ThrowHelper.ThrowArgumentOutOfRangeException 
  (System.ExceptionArgument argument,System.ExceptionResourceresource) [0x00029] 
  in <65984520577646ec9044386ec4a7b3dd>:0
  at System.Collections.ObjectModel.Collection`1[T].Insert (System.Int32 index, T item)
   [0x00026] 
  in <65984520577646ec9044386ec4a7b3dd>:0
  atnhooo.Main() [0x0007f] in <d658237a48934373b441d64c47cad823>:0