ССЫЛКА на файлы / каталог

#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 за то, что, как я надеюсь, оно носило ироничный характер, хотя, по-видимому, также содержало правильную информацию!