ファイルパスを含む配列があります。MD5に基づいて複製されたファイルのリストを作成したいと思います。私は次のように彼らのMD5を計算します:
private void calcMD5(Array files) //Array contains a path of all files
{
int i=0;
string[] md5_val = new string[files.Length];
foreach (string file_name in files)
{
using (var md5 = MD5.Create())
{
using (var stream = File.OpenRead(file_name))
{
md5_val[i] = BitConverter.ToString(md5.ComputeHash(stream)).Replace("-", "").ToLower();
i += 1;
}
}
}
}
上記からMD5を計算できましたが、重複しているファイルのリストのみを取得する方法です。同じことを行う他の方法がある場合は、私に知らせてください。また、私はLinqを初めて使用します。