此方法应按索引从数组中删除一个元素。该元素被删除,但出现在末尾,0就好像有一个默认值为零的未初始化数组
static void delet(ref int[] mass,int index)
{
int[] arr = new int[mass.Length - 1];
for(int a = 0; a < index; a++)
{
arr[a] = mass[a];
}
for(int a = index + 1; a < arr.Length; a++)
{
arr[a - 1] = mass[a];
}
mass = arr;
}
恐怕你的周期已经不够了。
在第二个循环中,您应该像这样运行:
arr.Length(注意用替换mass.Length。第一个短 1 个元素)或者像这样:
(这里注意替换
<为<=)为了避免混淆,最好稍微改变一下函数体。我们严格按索引遍历新数组,并在第二个循环中移动一个有条件删除的元素。