繁体   English   中英

使用LINQ将数据从一个列表复制到另一个列表

[英]Using LINQ to copy data from one list to another

我有两个列表public List<string> FileNamespublic List<string> FileNamesWithoutExtension FileNames我列出了具有完整路径的所有文件。 我想只复制没有扩展名的文件名到FileNamesWithoutExtension列表。 我在下面使用简单的代码:

FileNames = Directory.GetFiles(folderpath, "*").ToList();

foreach (string file in Files)
{
    FileNamesWithoutExtension.Add(System.IO.Path.GetFileNameWithoutExtension(file));
}

如何使用LinQ做到这一点?

虽然你正在做的事情是绝对正常的,有时(在我看来) LINQ可以使一个简单的循环看起来有点复杂,你可以通过使用原始列表上的Select来做你想要的,如下所示:

FileNamesWithoutExtensions.AddRange(
    FileNames.Select(fileName => System.IO.Path.GetFileNameWithoutExtension(fileName)));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM