First declaration a arr:
int[] arr1 = { 1, 2, 3, 4 };
Second:
arr1[3] = default(int);
do this aim for remove a num in this arr.
but i can find this number using index 3,why?
Since I’ve already deleted this element, why can I still access this element while traversing the group?
>Solution :
Technically, you can remove item at index index by shift and Array.Resize:
int[] arr1 = { 1, 2, 3, 4 };
int index = 3;
// Let it be a good old for loop; alternative is
// Array.Copy(arr1, index + 1, arr1, index, arr1.Length - index - 1);
for (int i = index; i < arr1.Length - 1; ++i)
arr1[i] = arr1[i + 1];
Array.Resize(ref arr1, arr1.Length - 1);
However, you can switch from array int[] to List<int> an call RemoveAt:
var arr1 = new List<int>() { 1, 2, 3, 4 };
int index = 3;
arr1.RemoveAt(index);