int[] arr = new[] { 3, 7, 2, 99, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
Удаление 0 без Linq или Collections.Generics:
int[] newArr = new int[arr.Length];
int newSize = 0;
for (int i = 0; i < arr.Length; i++)
if (arr[i] != 0)
{
newArr[newSize] = arr[i];
newSize++
}
if (newSize > 0)
Array.Resize(ref newArr, newSize);
Если вы знаете, сколько элементов введено пользователем, вы также можете просто сделать:
Array.Resize(ref arr, numberOfItemsUserEntered);
или
int[] newArr = new int[numberOfItemsUserEntered];
Array.Copy(Array, newArr, numberOfItemsUserEntered);
Удаление 0 с помощью Linq (для полноты) :
arr = arr.Where(i => i != 0).ToArray();