benyblack
@
۱۴ مرداد ۱۳۸۹-۱۸:۲۶
LINQ To Saffari
نظر شما در باره این کد از برادر صفاری چیست!؟
private void cmdProcess_Click(object sender, EventArgs e) {
msg(new String('=', 40) + "[Process started]");
FileInfo[] fia = GetFileList();
msg("{0:N0} file found, totally.", fia.Length);
var l = fia.Select(
f => new
{
FileName = f.FullName,
FileHash = Encoding.UTF8.GetString(
(new SHA1Managed()).ComputeHash(
new FileStream(
f.FullName,
FileMode.Open,
FileAccess.Read
)
)
)
}
)
.GroupBy(f => f.FileHash)
.Select(g => new { FileHash = g.Key, Files = g.Select(z => z.FileName) })
.Select(f => f.Files.First());
//.ToList();
msg("{0:N0} unique files found.", l.Count());
msg(new String('=', 40) + "[Process finished]");
}