У меня есть таблица MySQL со списком имени файла. Я хотел бы получить список всех файлов в каталоге, только если их имена отсутствуют в таблице.Получить все файлы не существует int a datatable
я могу поместить список файлов в базы данных в Datatable и написать что-то вроде:
string[] files = Directory.GetFiles(directory);
foreach (Datarow row in dataTable.Rows)
for (int i=0; i<files.Length; i++)
if (row[0].equals(files[i]) {
files[i].delete();
break;
}
Верхний код является лишь псевдо-пример. Не могу ли я напрямую использовать Directory.GetFiles (каталог), указав фильтр, чтобы не писать все итерации?
Нет, нет способа использовать его, но вы можете уменьшить свой код, используя * if (files.IndexOf (строка [0] .ToString()) <0) ... * – Gusman
например, если вы хотите получить список файлов, которые заканчиваются на '.txt', вы можете сделать следующее: ' var files = Directory.GetFiles (AppDomain.CurrentDomain.BaseDirectory) .Where (name => name.EndsWith (". txt")) ToList (); 'поэтому, если бы вы могли это сделать .. почему вы не могли заменить метод' .EndsWith' '.Contains' и получить все файлы, содержащие конкретное строковое значение ..? – MethodMan