Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2012, 16:02   #1
zabej
Пользователь
 
Регистрация: 17.05.2011
Сообщений: 13
По умолчанию Разбивка длинной строки на подстроки.

Добрый день. Имеется длинная строка, например 500000 символов. Необходимо ее разбить на массив строк, таких, которые бы вмещались, например в TextBlock размером Height="800" Width="800". Я пробовал сделать это так:

Код:
List<string> myList = new List<string>();
while (true)
{
   TextPointer start = textBlock.ContentStart;                   
   TextPointer end = textBlock.GetPositionFromPoint(new Point(textBlock.Width, textBlock.Height - 20), true);
   TextRange tg = new TextRange(start, end);
   string s = textBlock.Text.Remove(0, tg.Text.Length);
   myList.Add(tg.Text);
   textBlock.Text = s;
   if (string.IsNullOrWhiteSpace(s))
      break;
}
Но это долго. Операция
Код:
textBlock.GetPositionFromPoint(new Point(textBlock.Width, textBlock.Height), true);
выполняется очень долго.
Разбивка текста приблизительно состоящего из 500000 символов происходит около 3 минут.
Есть какие-нибудь идеи как это сделать быстро?
PS: Использую WPF.
zabej вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны строки S и S0. Удалить из строки S все подстроки, совпадающие с S0 . Если совпадающих подстрок нет, Шпунюся Помощь студентам 1 16.12.2010 21:02
Разбивка строки на части ForzaJuve Общие вопросы C/C++ 2 01.11.2010 23:12
Порядковый номер самой длинной строки в файле tshen Помощь студентам 5 10.06.2010 14:44
Разбивка строки на лексемы Proger_1 Общие вопросы C/C++ 3 29.03.2010 20:38
Разбивка строки в Delphi Slava Помощь студентам 7 30.06.2009 09:05