使用c#将元素插入数组

Inserting element into array using c#

        int[] arr = {4,3,6,7,9,12};

        int n = arr.Length;
        n = n + 1;

        for (int i =n;i>2;i--) { 
        arr[i-1] = arr[i-2];

        }

        arr[0] = 4;

以上代码返回

indexOutOfRangeexception.

int n = arr.Length //n=6
n=n+1 //n=7
for(int i=n;i>2;i--){ //i=7
  arr[i-1] //arr[6]

虽然最后一个元素显然是arr[5]。 在 C# 中,数组的长度是恒定的,您不能更改它们,唯一的方法是创建一个新数组,或者更好的解决方案是使用 List<>

当然会因为这些

n = n + 1; // n = 7
for (int i =n;i>2;i--) {  //Assining 7 to i  
arr[i-1] = arr[i-2]; // trying to access arr[6] which is not valid

你的数组是从0开始的Length6。

for循环中i变为7并且arr[7-1] = arr[6]超出范围,最大值为arr[5]即:

arr[0]
arr[1]
arr[2]
arr[3]
arr[4]
arr[5]