如何将List 的类型转换为列表

问题描述:

我需要这种类型的列表转换为字符串列出的:如何将List <System.IO.FileInfo>的类型转换为列表<string>?

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

有人知道是怎么回事?

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

或更改a.Name在您需要的属性选择方法。

尝试添加.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(); 

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

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