Послдений не Null в списке
Подскажите пожалуйста, как мне из списка получить первый, не-нулевой предыдущий элемент.
current:mytype=mytype(ListFindLink(mylist,current) .prevlink().value()) Вот такой код работает отлично, пока из середины списка что-нибудь не пропадет. К примеру у меня 4 экземпляра типа, current в данный момент 4, а 3 удаляется (т.е. listremove()), если попытатся выполнить данный код, то вылетает с ошибкой доступа к Null элементу. А надо чтобы просто проскачил на 2 элемент. Надеюсь понятно объяснил. |
Ответ: Послдений не Null в списке
Цитата:
Код:
Framework BRL.Blitz |
Ответ: Послдений не Null в списке
Опупеть...
Списки это удобный контейнер - итератор. Но чтобы ТАК извергаться над списками? заЧем? чем вас массивы не устраивают? мнгновенный индексный доступ без всяких линков... |
Ответ: Послдений не Null в списке
Цитата:
Цитата:
Цитата:
Для каждой задачи свой контейнер, непонятно вообще к чему твоя мессага. |
Ответ: Послдений не Null в списке
Во мля... вы просто массивы юзаете как ламеры.
|
Ответ: Послдений не Null в списке
Цитата:
|
Ответ: Послдений не Null в списке
Для особо одаренных...
Код:
|
Ответ: Послдений не Null в списке
а что правда если что то удаляется то оно Всегда превращяется в -1 ??
|
Ответ: Послдений не Null в списке
Цитата:
|
Ответ: Послдений не Null в списке
Diablo1909, подкинешь статей (или сам напишешь)) ) про то как надо массивы по-отцовски юзать ? Будем учиться.
(Вот в данный момент например непонятно как из кастомного массива что-либо удалить. myarr:mytype[x]=-1 естественно кидает cannot convert int to mytype. Вот и хз как быть.) |
Ответ: Послдений не Null в списке
HandleFromObject
HandleToObject |
Ответ: Послдений не Null в списке
2Nite
в массивах должна хранится однотипная информация, числа с числами, обьекты с обьектами. В примере компилятор тебе говорит что "не могу сконвертить целое число в тобою обьявленный mytype" Так как массив обьявлен у тебя как содержащий некие обьекты, то пишем так : Код:
myarr[x] = Null |
Ответ: Послдений не Null в списке
Diablo1909, можно поподробней как не вылететь за пределы массива ?
А то ведь For i%=0 Until mass.Length значит, что он строго до длинны массива перебирает, но у меня почему-то если поменять размер массива (например укоротить его слайсом) то пишеть типа вылетел за предел. |
Ответ: Послдений не Null в списке
После переразметки массива, он должен корректно возвращать длинну ( по сути это создание нового массива с новой длинной ), поэтому здесь косяков быть не должно.
Телепаты в отпуске, так что код с косяком в студию, посморим что у тебя тама. ЗЫ Слайсы - в топку, тоже вещь очень медленная. |
Ответ: Послдений не Null в списке
Решил проблему отказавшись от слайсов. Спасибо.
|
Часовой пояс GMT +4, время: 11:55. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot