خیلی اوقات پیش می آید که ما نیاز داریم دو فایل را در زبان سی شارپ با هم مقایسه کنیم. راه های خیلی زیادی وجود دارد، برای مثال می توان محتویات دو فایل را خواند و با هم مقایسه کرد، اما سرعت کار در اینجا نیز خیلی مهم است، برای مثال، اگر شما بخواهید دو فایل با حجم خیلی زیاد را با هم مقایسه کنید، در صورت خواندن محتویات فایل به صورت متن و مقایسه آن ها، زمان زیادی خواهد برد.
برای یادگیری و آموزش سی شارپ ( آموزش زبان برنامه نویسی سی شارپ ) رایگان به این لینک بروید
سریعترین راه برای مقایسه دو فایل در زبان سی شارپ، بدست آوردن Hash دو فایل و مقایسه آن ها با یکدگیر است. قطعه کد زیر، آدرس دو فایل را دریافت کرده، محتویات فایل را به صورت آرایه ای از byte ها می خواند، در مرحله بعدی، بر اساس الگوریتم MD5، هش فایل ها محاسبه شده و عملیات مقایسه انجام می شود:
public 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 = Convert.ToBase64String(md5Hasher.ComputeHash(file1Bytes)); var file2Hash = Convert.ToBase64String(md5Hasher.ComputeHash(file2Bytes)); return file1Hash == file2Hash; }
برای استفاده از کد بالا، کافیست آدرس فایل ها را به صورت پارامتر به متد CompareFiles پاس دهید، در صورت یکسان بودن فایل ها مقدار true و در غیر اینصورت مقدار false از متد بازگردانده خواهد شد. این روش بسیار سریع بوده و می توانید بدون نگرانی از آن استفاده کنید.
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود