![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
1. Мне нужно использовать несколько регулярных выражений при переборе массива. Но код работает слишком медленно (на Perl быстрей в несколько раз). Что делаю не так?
2. Как вернуть 1, если первым символом строки gar[x] является знак "(" ? |
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: нет Всего: 48 |
Массив большой?
|
|||
|
||||
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
5000 элементов.
Мне кажется, что проблема в использовании регулярных выражений внутри цикла. Но Perl обрабатывает моментально (на порядок быстрей). Как правильно объявлять такие регулярные выражения? Если то что "искать" объявлять вне цикла, а то, на что заменить - внутри, то код непонятным становится. Это сообщение отредактировал(а) Suppir - 11.3.2012, 13:20 |
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: нет Всего: 48 |
5000? Попробуйте StringBuilder для соединения строк
|
|||
|
||||
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
Т.е. проблема не в регулярных выражениях, а в соединении строк?
И еще, обязательно ли использовать RegexOptions.Compiled или можно обойтись без него? |
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: нет Всего: 48 |
Думаю, что в соединениях, да.
http://www.codinghorror.com/blog/2005/03/t...to-compile.html гляньте тут. Вообще не возьмусь однозначно утверждать, лучше это сделает кто-то более осведомленный. |
|||
|
||||
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
А по этому вопросу можете подсказать?
Как вернуть "true", если первым символом строки gar[x] является знак "(" ? |
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: нет Всего: 48 |
|
|||
|
||||
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
Спасибо!
Добавлено через 4 минуты и 45 секунд А еще, можно без регулярных выражений узнать, что строка оканчивается на символ ">", после которого может быть, а может и не быть пробел? |
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: нет Всего: 48 |
|
|||
|
||||
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
Еще один вопрос, пока вы не ушли!
У меня приложение с GUI. После InitializeComponent() выполняются еще две функции. Но при запуске GUI отрисовывается только после того, как эти функции выполнятся. Мне же нужно, чтобы приложение сначала отрисовалось, а только потом эти функции запустились. Как это сделать?
Это сообщение отредактировал(а) Suppir - 11.3.2012, 14:03 |
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: нет Всего: 48 |
В событие Load формы добавить это
|
|||
|
||||
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
А где это нужно прописать?
То есть где нужно объявлять функции LoadFiles() и Prepare(), чтобы они выполнялись уже после того, как форма будет отображена? |
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: нет Всего: 48 |
Не помню
|
|||
|
||||
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
Нашел. Написал вот так, но все равно, сначала эти функции отрабатываются, а только потом форма отображается. А нужно, чтобы сначала запустилась программа, а потом начали функции отрабатывать.
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |