Сортировка данных в реальном времени - C#
Формулировка задачи:
Всем привет собственно вопрос.
Я осуществляю поиск файла по имени из текущей директории. Файлов может быть и 100 и 200 и 1000.
Поиск и я реализовал на LINQ и Regex.
Я просто перебираю все файлы которые есть и потом отсекаю ненужные по критериям.
Но проблема в том что сперва идет поиск всех файлов, а уже потом их сортировка, какие мне нужны.
Как мне сделать чтобы при поиске файлы которые нужны добавлялись в реальном времени?
Тоесть идет поиск и первый полученный файл отображается в консоли.
Мне что надо метод который сортирует вызывать в поиске в отдельном потоке и по одному значению ему передавать?
И консоль тоже в отдельном потоке вызывать?
Я просто этого не разу не делал мб что то не допонял.
Что мне прочесть чтобы это реализовать?
Решение задачи: «Сортировка данных в реальном времени»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using System.Threading; using System.IO; namespace BGW_Test { class Program { static BackgroundWorker worker; static void Main(string[] args) { worker = new BackgroundWorker(); worker.WorkerSupportsCancellation = true; worker.DoWork += new DoWorkEventHandler(worker_DoWork); worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted); worker.RunWorkerAsync(); Thread.Sleep(5000); worker.CancelAsync(); Console.ReadLine(); } static void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (e.Cancelled) { Console.WriteLine("Canceled!"); } } static void worker_DoWork(object sender, DoWorkEventArgs e) { DirectoryInfo info = new DirectoryInfo(@"C:\Windows"); foreach (FileInfo fi in info.GetFiles()) { Thread.Sleep(500); Console.WriteLine("FileName: {0}", fi.Name); if ((sender as BackgroundWorker).CancellationPending) { e.Cancel = true; return; } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д