应该是你传入的参数n的值超过了toolStrip1.Items
这个集合的长度,比如下面示例:
using System;
using System.Collections.Generic;
namespace ConsoleApp2
{
internal class Program
{
static void Main(string[] args)
{
var list = new List<int> { 1, 2, 3, 4, 5 };
// 在索引为0的位置插入数字6
list.Insert(0, 6);
// 输出插入后的结果
Console.WriteLine(string.Join(",", list));
list = new List<int> { 1, 2, 3, 4, 5 };
// 在索引为3的位置插入数字6
list.Insert(3, 6);
// 输出插入后的结果
Console.WriteLine(string.Join(",", list));
list = new List<int> { 1, 2, 3, 4, 5 };
// 在索引为5的位置插入数字6
list.Insert(5, 6);
// 输出插入后的结果
Console.WriteLine(string.Join(",", list));
//list = new List<int> { 1, 2, 3, 4, 5 };
//// 在索引为3的位置插入数字6
//list.Insert(6, 6);
//// 输出插入后的结果
//Console.WriteLine(string.Join(",", list));
Console.ReadKey();
}
}
}
输出结果:
using System;
using System.Collections.Generic;
namespace ConsoleApp2
{
internal class Program
{
static void Main(string[] args)
{
var list = new List<int> { 1, 2, 3, 4, 5 };
// 在索引为0的位置插入数字6
list.Insert(0, 6);
// 输出插入后的结果
Console.WriteLine(string.Join(",", list));
list = new List<int> { 1, 2, 3, 4, 5 };
// 在索引为3的位置插入数字6
list.Insert(3, 6);
// 输出插入后的结果
Console.WriteLine(string.Join(",", list));
list = new List<int> { 1, 2, 3, 4, 5 };
// 在索引为5的位置插入数字6
list.Insert(5, 6);
// 输出插入后的结果
Console.WriteLine(string.Join(",", list));
Console.ReadKey();
}
}
}
如果使用如下示例的Insert
(索引超过了数组索引长度),则会抛出异常:
var list = new List<int> { 1, 2, 3, 4, 5 };
// 在索引为6的位置插入数字6
list.Insert(6, 6);
// 输出插入后的结果
Console.WriteLine(string.Join(",", list));
异常如下图: