因为任何哈希算法本质上都是对字节进行一定的计算,而计算过程是要消耗时间的.
很多下载网站上提供了下载文件的哈希值,那是因为下载的源文件本身不会改变,只需要计算一次源文件的哈希值,提供给用户验证即可....而我们的需求中,两个文件都是不固定的,那么每次都要计算两个文件的哈希值,就不太合适了.
所以,哈希比较这个方案被PASS....我想到了LINQ中有一个比较序列的方法SequenceEqual,我们尝试使用该方法比较:
///
/// 读入到字节数组中比较(使用LINQ的SequenceEqual比较)
//...我突然想到在C# 7.2中加入的一个新的值类型: Span,它用来代表一段连续的内存区域,并提供一系列可操作该区域的方法....方法,该方法是ReadOnlySpan的一个扩展方法,要注意它只是方法名与LINQ中一样,实现完全不同.