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