组文件的哈希和

本文关键字:哈希 文件 | 更新日期: 2023-09-27 18:15:21

我正在编写一个控制台程序,它应该显示重复文件组。我有一个方法返回文件的完整路径集合:

public IEnumerable<String> GetFullPath(String fullPath)
{
    /*
     realisation
    */
    yield return new FileInfo(file).FullName;
}

我也有一个方法返回文件的哈希和:

public String GetMd5HashOfFile(String file)

一切正常;我可以显示文件的完整路径,也可以显示文件哈希值,但如何显示具有相同哈希值的文件的完整路径组呢?

组文件的哈希和

使用GroupBy

var allFiles = getAllFiles(fullPath); // or whatever
return allFiles.GroupBy(c => GetMd5HashOfFile(c));

你可以随意使用,例如:

foreach (var v in grouped)
{
    Console.WriteLine("Hash: {0}", v.Key);
    foreach (var f in v)
    {
        Console.WriteLine("'t{0}", f);
    }
}