Здравствуйте, okon, Вы писали:
B>>PS
B>>Почему так прикипает? Ну например, ваш selectedIndex (в смысле переменная в программе) может зависеть от какого-нть алгоритма Монте Карло, где на выходе целое 0...конецСписка, либо "-100". Т.е. имей разрабы мозг, это "-100" можно было бы смело присвоить в ListBox.SelectedIndex ; а вместо этого мы сначала будем вынуждены проверять, что < 0 и потом передавать -1. Офигеть как удобно!
O>Не знаю как там реализовано но вот пример почему именно -1 может быть.
O>Допустим есть массив который включает в том числе вариант не определено, в итоге получается a[SelectedIndex + 1] все что будет <-1 приведет к ошибке.
В том и прикол, что никакого массива нет. Есть контрол. Мы ему дали некий список из 10 элементов. И вот где-то в середине работы я получаю число для выделения элемента: либо -5, либо 0...9. Почему ListBox.SelectedIndex не может проглотить -5??? Очевидно же, что юзерские данные валидируются контролом нещадно, поэтому либо выделяем один элемент по валидному индексу, либо... снимаем всё выделение! Логика проще пареной репы. Но не у макрософака.