Для особо одаренных...
Global mass%[] = New Int[4]
Const NULL_ITEM% = -1 ' обьявляем *Null* переменную
MemCopy(mass, [1,2,3,4], 4*4) ' инициализируем
' 1) Удаляем 3-й элемент :
mass[2] = NULL_ITEM
' 2) Адекватный перебор с учетом удаленного
For Local i% = 0 Until mass.Length
If mass[i] = NULL_ITEM Then Continue
....
Next
PS Стандартный TList - оцтой тот еще. Ты глянь на исходник его... он как мамонт жрет память и проц. Листы вообще придуманы ламерами и для ламеров - это жуткое зло - лист плодит кучу однотипных ссылок которые к тому же пересекаются и снаружи никак нельзя проконтролировать их, что чревато утечками памяти и тому подобными весельями, так как БМакс не умеет такие ссылки обрабатывать. Серия Quake 1-3 полностью реализована на массивах (насчет 4-й незнаю, но скорее всего тоже). в Unreal тоже не увидишь ни одного листа (их тама просто нет). В 99.9% листы ненужны вообще, возможностей массивов хватает слихвой и везде ( в крайнем случае можно эмитировать список односторонним указателем).