چگونه دو فایل را در سی شارپ مقایسه کنیم؟ خیلی وقت ها پیش میاد که بخواییم دو فایل رو در زبان سی شارپ با هم مقایسه کنیم. سریع ترین و بهینه ترین روش برای اینکار بدست آوردن Hash دو فایل و مقایسه Hash ها با همدیگه هست. Method زیر اینکار رو انجام میده.
دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
برای یادگیری و آموزش سی شارپ ( آموزش زبان برنامه نویسی سی شارپ ) رایگان به این لینک بروید
به این صورت که آدرس دو فایل رو به این متد پاس میدیم و در صورت برابر بودن مقدار true و در غیر اینصورت مقدار false برگردونده میشه:
public static bool CompareFiles(string file1, string file2)
{
var file1Bytes = System.IO.File.ReadAllBytes(file1);
var file2Bytes = System.IO.File.ReadAllBytes(file2);
var md5Hasher = System.Security.Cryptography.MD5.Create();
var file1Hash = System.Convert.ToBase64String(md5Hasher.ComputeHash(file1Bytes));
var file2Hash = System.Convert.ToBase64String(md5Hasher.ComputeHash(file2Bytes));
return file1Hash == file2Hash;
}
با فراخوانی این متد به صورت زیر میتونید دو فایل رو با هم مقایسه کنید:
var isEqual = CompareFiles("d:\\file1.txt", "d:\\file2.txt");
این روش برای انواع فایل ها جواب میده و فایل های حجیم رو هم با سرعت بالا مقایسه می کنه. موفق و پیروز باشید.