Большой список строк.Я делю его на несколько списков и запускаю метод «SpellChecker» для исправления орфографических ошибок в строках.Затем я запускаю метод SearchKeyWordsInString, который должен коррелировать эти строки в соответствии с ключевыми словами в некоторых категориях.НО, вывод не является правильным соответствием линий и категорий.У меня есть список строк, я делю этот список на несколько подсписков и запускаю задачи для каждого подсписка.Проблема возникает, когда после запуска задачи с помощью метода проверки орфографии я в продолжение этой задачи запускаю метод категоризации этих строк.Нет такой ситуации, если я не разделяю исходные строки и не выполняю одну задачу.
List<string> strListExcel = null;
var excel = new Excel();
excel.OpenFileNPOI(pathAndNameFile);
excel.ReadFileNPOI(out strListExcel);
excel.CloseFileNPOI();
var stringUnderList = new List<List<string>>();
int index = 0;
int countProcess = Environment.ProcessorCount * 1;
int countStr = strListExcel.Count;
int count = countStr / countProcess;
while (true)
{
stringUnderList.Add(new List<string>());
stringUnderList[index].AddRange(strListExcel.Skip(index * count).Take(count));
index++;
if (index == countProcess + 1)
break;
}
var tasks = new List<Task<List<DataCategory>>>();
for (int i = 0; i < stringUnderList.Count; i++)
{
var localStringUnderList = stringUnderList[i];
Task<List<DataCategory>> task = Task.Run(() => Text.SpellChecker(localStringUnderList)).ContinueWith(t => Text.SearchKeyWordsInString(t.Result));
tasks.Add(task);
}
Task.WaitAll(tasks.ToArray());
var dataCategoryList = new List<DataCategory>();
for (int i = 0; i < stringUnderList.Count; i++) //count task = count stringUnderList
_dataCategoryList.AddRange(tasks[i].Result);