Sam*_*eer 2 c# linq collections list
我有两个列表public List<string> FileNames和public List<string> FileNamesWithoutExtension.在FileNames我有完整路径的所有文件的列表中.我想只复制没有扩展名的文件名到FileNamesWithoutExtension列表.我在下面使用简单的代码:
FileNames = Directory.GetFiles(folderpath, "*").ToList();
foreach (string file in Files)
{
FileNamesWithoutExtension.Add(System.IO.Path.GetFileNameWithoutExtension(file));
}
Run Code Online (Sandbox Code Playgroud)
如何使用LinQ做到这一点?
虽然你正在做的事情是绝对正常的,有时(在我看来)LINQ可以使一个简单的循环看起来有点复杂,你可以通过Select在原始列表上使用你正在寻找的东西,如下所示:
FileNamesWithoutExtensions.AddRange(
FileNames.Select(fileName => System.IO.Path.GetFileNameWithoutExtension(fileName)));
Run Code Online (Sandbox Code Playgroud)