Đối với ứng dụng cụ thể mà bạn đã mô tả, việc tìm kiếm hàm băm SHA-1 của mỗi tệp trong thư mục và sau đó XOR chúng cùng nhau sẽ hoạt động tốt.
byte[] checksum = new byte[sha1Length];
for each file
for (int index = 0; index < sha1Length; index++)
checksum[index] ^= fileChecksum[index]
Đã chỉnh sửa thành Thêm: Như đã nêu trong nhận xét, điều này sẽ không thực sự hiệu quả. Một scenerio cụ thể sẽ thêm hai tệp giống hệt nhau, sẽ hủy bỏ lẫn nhau trong XOR. Có lẽ tạo một luồng với tất cả các tên tập tin và dấu thời gian và băm tập tin và sau đó băm sẽ cung cấp cho bạn những gì bạn cần.
Đã chỉnh sửa lại: OK, bây giờ bạn đã thay đổi câu hỏi của mình! Đừng để ý!
Nguồn
2009-12-28 15:34:59
Có lý do nào khiến bạn không chỉ sử dụng FileSystemWatcher không? http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx – Will
Bởi vì nó không hoạt động, tất nhiên. Chỉ trên một số hệ thống tệp được hỗ trợ. –
@Will Ngay cả trên các hệ thống tệp được hỗ trợ, nó không được bảo đảm để kích hoạt (kích thước bộ đệm có giới hạn). – vossad01