Я ищу в файлах. И в зависимости от расширения я вписываю textBox2, в котором находятся типы файлов, в которых я хочу искать. Например, если я набрал textBox2 .txt, он будет искать все текстовые файлы. Но я не хочу печатать .cs или .txt. Я хочу печатать только cs или только txt
string restrictedFile = "";
List<string> restrictedFiles = new List<string>();
int numberofrestrictedFiles = 0;
int numberoffiles = 0;
IEnumerable<string> SearchAccessibleFilesNoDistinct(string root, List<string> files,BackgroundWorker worker, DoWorkEventArgs e)
{
_busy.WaitOne();
if (files == null)
files = new List<string>();
if (Directory.Exists(root))
{
foreach (var file in Directory.EnumerateFiles(root))
{
if (worker.CancellationPending == true)
{
e.Cancel = true;
return files;
}
restrictedFile = file;
string ext = Path.GetExtension(file);
if (!files.Contains(file) && ext == textBox2.Text)
{
files.Add(file);
}
numberoffiles++;
label24.Invoke((MethodInvoker)delegate
{
label24.Text = numberoffiles.ToString();
label24.Visible = true;
});
}
foreach (var subDir in Directory.EnumerateDirectories(root))
{
if (worker.CancellationPending == true)
{
e.Cancel = true;
return files;
}
try
{
SearchAccessibleFilesNoDistinct(subDir, files,worker, e);
}
catch (UnauthorizedAccessException)
{
restrictedFiles.Add(restrictedFile);
numberofrestrictedFiles++;
label11.Invoke((MethodInvoker)delegate
{
label11.Text = numberofrestrictedFiles.ToString();
label11.Visible = true;
});
continue;
}
}
}
return files;
}
В этой части я получаю расширение файла и проверяю, совпадает ли оно в textBox2. Но так как расширение файла - .txt или .cs или .gif, я должен ввести textBox2 также с помощью «.» и вместо этого я хочу иметь возможность печатать только cs gif txt ....
Еще один дополнительный вопрос: как я могу сделать так, чтобы он искал во всех расширениях файлов? Например, если я наберу textBox2, он введет строку ALL или, возможно, . , поэтому он будет искать все расширения.