چگونه دو فایل را در سی شارپ مقایسه کنیم؟ خیلی وقت ها پیش میاد که بخواییم دو فایل رو در زبان سی شارپ با هم مقایسه کنیم. سریع ترین و بهینه ترین روش برای اینکار بدست آوردن 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");

این روش برای انواع فایل ها جواب میده و فایل های حجیم رو هم با سرعت بالا مقایسه می کنه. موفق و پیروز باشید.