вторник, 2 июня 2009 г.

Изучаю Windows Workflow

Попробовал в рамках изучения технологии написать простенькую программу используя .Net Workflow. Программа берет строку и делит ее на слова.

Обычный алгоритм выглядит так:


int CIndex = 0;
int CWordLength = 0;
string InputString = inputTB.Text;
List<string> Result=new List();
char[] CWord=new char[100];

while(CIndex<InputString.Length)
{
 if(Char.IsLetterOrDigit(InputString[CIndex]))
 {
  if (CWordLength >= CWord.Length)
  {
   char[] CWord2 = new char[CWord.Length * 2];
   CWord.CopyTo(CWord2, 0);
   CWord = CWord2;
  }

  CWord[CWordLength] = InputString[CIndex];
  CWordLength++;
 }
 else
 {
  _result.Add(new string(CWord, 0, CWordLength));
  _result.Add(InputString[CIndex].ToString());
  CWordLength = 0;
 }

 CIndex++;
}

Переписал на WF - работает... Но скорость...



Как-то меня это не воодушевляет...

Комментариев нет:

Отправить комментарий