我如何从中获取文件名列表
List<FileInfo> FileInfoList;
通过使用 LINQ?我想要所有文件名
List<string> FileNames;
列表。我不想构建一个 foreach 循环,也不想迭代地添加文件名。
您可以使用Select扩展方法:
List<string> FileNames = FileInfoList.Select(x => x.Name).ToList();
但是,如果您真的不需要它是 a List<T>
,您可以通过简单地省略该ToList
方法来利用 Linq 的延迟执行能力:
IEnumerable<string> FileNames = FileInfoList.Select(x => x.Name);
或者,如果您更喜欢查询语法:
IEnumerable<string> FileNames = from x in FileInfoList select x.Name;
如果您只想要 FileNames 列表中的 FileNames,请尝试:
FileInfoList.ForEach(x =>
FileNames.Add(Path.GetFileName(x.FullName)));
如果您想要 FileNames 中的完整文件路径,请尝试
FileInfoList.ForEach(x =>
FileNames.Add(x.FullName));