上了一节课:
class filedate
{
public int id;
public string fname;
}
用值填写我的列表:
List<filedate> List = ReadList(sqlFiles);
string[] FolderFiles = System.IO.Directory.GetFiles(path2Copy);
试图得到结果:
var results = List.Where(filedate =>
FolderFiles.Any(x=>Path.GetFileNameWithoutExtension(x) ==
Path.GetFileNameWithoutExtension(filedate.fname)));
我在 和 中有相同的文件List
,FolderFiles
但在results
. 我是Linq的新手。哪里有问题?
更新: 列表:(计数)> 1000 例如:<1023,'tr_F2opervag_2808_1644.dat'>
FolderFiles 示例:“\\domain.corp.dns\share\folder\tr_F2opervag_2808_1644.dat”
更新2:发现我的错误!与交叉点的评论很有帮助!此代码有效:
var results = List.Where(
(filedate x) =>
{
return ! FolderFiles.Any(xxx =>
Path.GetFileNameWithoutExtension(xxx) ==
Path.GetFileNameWithoutExtension(x.fname));
});