#c# #linq #file #directory
#c# #linq #файл #каталог
Вопрос:
Как найти конкретный файл в определенном каталоге с помощью LINQ и вернуть true, если он существует?
Комментарии:
1. Зачем вам нужно делать это с помощью LINQ?
Ответ №1:
Зачем вам использовать LINQ для этого? Это делает то, что вам нужно:
string filePath = Path.Combine(directory, fileName);
return File.Exists(filePath);
Ответ №2:
Вы можете сделать это следующим образом:
var fileExists = new DirectoryInfo("directoryPath").GetFiles("filename.ext").Any();
Но вы могли бы просто использовать это, если вы уже знаете путь к файлу:
var fileExists = File.Exists("filePath");
Ответ №3:
var doesExist = new DirectoryInfo(folder).GetFiles(fileName, SearchOption.AllDirectories).Any();
Ответ №4:
Вы также можете рассмотреть FluentPath, если вам нравится такая вещь. Это удобная оболочка для системы.Ввод-вывод я видел некоторое время назад. Вот пример с сайта:
Path.Get(args.Length != 0 ? args[0] : ".")
.Files(
p => new[] {
".avi", ".m4v", ".wmv",
".mp4", ".dvr-ms", ".mpg", ".mkv"
}.Contains(p.Extension))
.CreateDirectories(
p => p.Parent()
.Combine(p.FileNameWithoutExtension))
.End()
.Move(
p => p.Parent()
.Combine(p.FileNameWithoutExtension)
.Combine(p.FileName));
Комментарии:
1. Я поставил этому 1 за то, что, как я надеюсь, оно носило ироничный характер, хотя, по-видимому, также содержало правильную информацию!