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 は、指定されたディレクトリのパスを含むファイル名を返します。ただし、これをファイル名だけを含むリスト項目と比較しています。where 条件を次のように変更します。

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