![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| okaton |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 24.11.2006 Репутация: нет Всего: нет |
Подскажите как можно вернуться обратно в функцию, в то место откуда был совершен выход
Это сообщение отредактировал(а) okaton - 10.12.2008, 14:31 |
|||
|
||||
| okaton |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 24.11.2006 Репутация: нет Всего: нет |
А вообще такое действие возможно? Красоты кода ради, хочется разобраться в этом вопросе... Если нет, то я напишу 2 функцию.
Отзовитесь кто знает |
|||
|
||||
| EgoBrain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 23.3.2008 Где: Комната Репутация: 1 Всего: 2 |
Может стоит использовать какой-то флаг перехода, передаваемый в аргументы функции, а потом switch-ить его, или метки? А куда собственно необходимо перейти?
Добавлено @ 14:52
Это сообщение отредактировал(а) EgoBrain - 10.12.2008, 14:53 |
|||
|
||||
| NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 Репутация: 1 Всего: 13 |
-------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
| okaton |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 24.11.2006 Репутация: нет Всего: нет |
Перейти надо в это место
если срабатывает это условие if (toolStripTextBox1.Text == _search) смысл такой программа организует поиск, в else происходит первый заход, далее в функцию и нахождение первого совпадения. Далее (toolStripButton5_Click...) если значение в toolStripTextBox1.Text не изменяется, то срабатывает условие toolStripTextBox1.Text == _search и было бы хорошо вернуться обратно в функцию. Если такое выполнить не возможно, то план клонировать функцию, объявить глобальные переменные r и k. В 1 функции обнулять их при входе, во второй использовать как есть. Хочется узнать вообще это возможно вернуться обратно в функцию, в тело цикла после return... Кстати по поводу меток. Оставлял их на черный день, но тут решил попробовать... Почему-то в C# они работают в пределах функции, но не дальше Это сообщение отредактировал(а) okaton - 10.12.2008, 22:53 |
|||
|
||||
| okaton |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 24.11.2006 Репутация: нет Всего: нет |
|
|||
|
||||
| okaton |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 24.11.2006 Репутация: нет Всего: нет |
Скажите а yield работает только с IEnumerable или с чем то еще?
MSDN: - Использование небезопасных блоков не допускается кхм, а какие безопасные? |
|||
|
||||
| Ram1reS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 25.4.2008 Где: Москва Репутация: 2 Всего: 5 |
Иммется ввиду managed(safe-безопасный) и unmanaged(unsafe-небезопасный). --------------------
|
|||
|
||||
| okaton |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 24.11.2006 Репутация: нет Всего: нет |
Я так понял, что он все таки работает только с перечислениями.
Это мне не подходит, у меня функция определена как string, но дело даже не в этом, мне вернуться в функцию нужно по моему запросу, а не как в yield. Есть еще какие-то варианты? |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 6 Всего: 65 |
okaton,
рефлексия. повторный вызов функции в самой функции. Применяеться как раз при сортировке. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| okaton |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 24.11.2006 Репутация: нет Всего: нет |
thomas, честно придался гуглингу, но ничего полезного для себя выяснить не смог, можно поконкретнее пожалуйста
Это сообщение отредактировал(а) okaton - 11.12.2008, 18:34 |
||||
|
|||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 6 Всего: 65 |
okaton,
вот пример рефлексии при быстрой сортировке
Первый метод основной(проводит сортировку массива), второй вспомогательный(меняет местами значения в массиве) В основном методе применена рефлексия, т.е. повторный вызов самого метода. Единственный ньюанс в повторном вызове это второй и третий параметры(они определяют где нужно проводить сортировку: нижняя и верхняя границы массива) Прикинь как надо вызывать повторно функцию поиска в твоем случае. Единственное что хочу порекомендовать, это по возможности убрать весь код из обработчика события нажатия кнопки, кроме определения параметров поиска и вызова функции поиска с заданными параметрами. Все условия по прекращению или повторному вызову должны быть определены в самой функции происка. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| Ram1reS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 25.4.2008 Где: Москва Репутация: 2 Всего: 5 |
Может быть все-таки рекурсия? --------------------
|
|||
|
||||
| okaton |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 24.11.2006 Репутация: нет Всего: нет |
Спасибо конечно
|
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 6 Всего: 65 |
Ram1reS,
ты прав конечно, РЕКУРСИЯ. okaton, упс, описался.
в обработчике события нажатия кнопки ты определяешь что и где искать и вызываешь функцию поиска с заданными параметрами. А она уже выполняет поиск пока не найдет. При этом сама себя вызывает с видоизмененными параметрами для дальнейшего поиска. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |