У меня есть это событие:
private void TextBoxSearchText_TextChanged(object sender, TextChangedEventArgs e)
{
searchText();
}
и я хочу отменить этот параллельный метод и запустить новый, когда текст текстового поля изменится, а также хочу, чтобы мое текстовое поле реагировало на мой новый ввод текста, который блокируется до тех пор, пока результаты не поступят в список.
List<TextList> oSelected;
private void searchText()
{
string strSearchText = TextBoxSearchText.Text;
oSelected = new List<TextList>();
Parallel.ForEach(oTextList, item =>
{
Match myMatch = Regex.Match(item.EnglishText.ToString(), "\\b" + strSearchText.ToString().ToLower() + @"\w*", RegexOptions.IgnoreCase);
if (!myMatch.Success)
{
return;
}
oSelected.Add(new TextList
{
Id = item.Id,
EnglishText = item.EnglishText
});
});
ListBoxAllTexts.ItemsSource = oSelected;
}
Можно ли использовать async и aviat для выполнения этой работы? Какой из них лучше подходит для поиска текста почти в 1 миллионе строк текста? Я много читал об асинхронности и ожидании, но не мог понять, как использовать это в своей работе. Спасибо
string strSearchText
в качестве параметра метода. 29.07.2014