Как преобразовать тип списка в список?

#c# #regex #directory

#c# #регулярное выражение #каталог

Вопрос:

Мне нужно преобразовать этот тип списка в список строк:

 var fileName = (new DirectoryInfo(filePath)).GetFiles(".", SearchOption.AllDirectories).Where(a => Regex.IsMatch(a.Name, "^[^*]*"   logSelected   ".jpg$")).ToList();
  

кто-нибудь знает, как это делается?

Ответ №1:

 var fileName = (new DirectoryInfo(filePath))
.GetFiles(".", SearchOption.AllDirectories)
.Where(a => Regex.IsMatch(a.Name, "^[^*]*"   logSelected   ".jpg$"))
.Select(a => a.Name)
.ToList();
  

Или измените a.Name в методе выбора нужное вам свойство.

Ответ №2:

попробуйте добавить .Select(fi => fi.Name)

 List<string> fileNames = (new DirectoryInfo(filePath)).GetFiles(".", SearchOption.AllDirectories)
            .Where(a => Regex.IsMatch(a.Name, "^[^*]*"   logSelected   ".jpg$"))
            .Select(fi => fi.Name)
            .ToList();
  

Ответ №3:

             var fileName = (new DirectoryInfo(filePath)).GetFiles(".", SearchOption.AllDirectories)
            .Where(a => Regex.IsMatch(a.Name, "^[^]"   logSelected   ".jpg$"))
            .Select(fi=>fi.FullName)
            .ToList();
  

Ответ №4:

 var fileName = new DirectoryInfo(filePath)
                   .GetFiles(".", SearchOption.AllDirectories)
                   .Where(a => Regex.IsMatch(a.Name, "^[^*]*"   logSelected   ".jpg$"))
                   .Select(x => x.Name)
                   .ToList();