0

我必须将目录中的文件系统条目与其他文件进行比较,但是这个 linq 查询不起作用,我真的不知道为什么我没有得到任何结果。

List<string> exampleFiles= new List<string>();
exampleFiles.Add("Foo.jpg");
exampleFiles.Add("Bar.jpg");

string ImagesOnFileSystem = @"c:\test";

List<string> filesInDirectory = Directory.GetFiles(ImagesOnfileSystem);                

var result = (from imageOnFs in filesInDirectory 
              from exampleFile in exampleFiles
              where InvariantCultureIgnoreCase.Equals(imageOnFs, exampleFile)
              select imageOnFs)
             .Distinct()
             .ToList();

foreach (var item in result)
{
    Console.WriteLine(item.ToString());
}

你能告诉我我的查询有什么问题吗?谢谢

4

1 回答 1

4

GetFileName 返回文件名,包括指定目录的路径。但是,您将 this 与仅包含文件名的列表项进行比较。将 where 条件更改为:

where Path.GetFileName(imageOnFs) == exampleFile
于 2013-04-29T23:01:13.820 回答