У меня есть ASP.NET ListBox, который отображает список действий, взятых из текстового файла. Теперь я хочу искать слова, например «хоккей», введенные пользователем в элементе управления TextBox, и отображать в ListBox только действия, содержащие эту строку поиска.C# поиск в текстовых словах в список
0
A
ответ
2
вопрос расплывчато достаточно, но учитывая, информация, полученная от должности, я бы сказал, следовать этому образцу (псевдокод):
using (StreamReader sr = new StreamReader(filepath))
{
while (sr.Peek() >= 0)
{
string fileLine = sr.ReadLine();
if(fileLine .Contains("hockey"))
DisplayInListBox(fileLine);
}
}
Что-то вроде этого.
0
довольно тривиальным я думаю:
var items = //listBox1.Items;
private void textBox1_TextChanged(object sender, EventArgs e)
{
listBox1.Items.Clear();
foreach (object s in items)
{
if (s.ToString().Contains("hockey"))
listBox1.Items.Add(s);
}
if (listBox1.Items.Count > 0)
listBox1.SelectedIndex = 0;
}
Основная идея состоит в том, чтобы кэшировать исходные элементы ListBox, и очистить его, а затем заполнить в соответствии с строкой, набранного в текстовом поле.
Похоже, что он уже прочитал данные из файла, поскольку уже привязал его к ListBox. Также код, который смешивает операции чтения файлов, показывает, что обновление пользовательского интерфейса выглядит не совсем хорошо с моей точки зрения, почему просто не отделять низкоуровневые функции чтения файлов от материалов UI? – sll
@sll: честно говоря, не очень понятно. Потому что в обоих случаях он говорит о 'activites' – Tigran