比较两个数组和 return 它们的余数

Compare two arrays and return their remainder

我正在做一个图像比较器用于学习目的。

我已经完成了几乎所有的事情,现在我正在改进它。为了检查相似性,我有 2 个锯齿状多维数组 (byte[][,]),我在其中使用三重 for 循环访问每个数组的每个元素并存储它们的余数,如下所示:

for (int dimension = 0; dimension < 8; dimension++)
{
    Parallel.For(0, 16, mycolumn =>
    {
        Parallel.For(0, 16, myrow =>
        {
            Diffs[dimension][mycolumn, myrow] =
                (byte)Math.Abs(Image1Bytes[dimension][mycolumn, myrow]
                - Image2Bytes[dimension][mycolumn, myrow]);
        });
    });
}

现在,我想检查每个维度与另一个集合中的另一个维度有多少相等。

我如何比较每个数组中的整个数组(如 array1[i][,] == array2[j][,])?

我认为有更好的方法来完成这些操作,但我已经设法很快完成了。

这是比较两张图片的较旧帖子,您可以轻松适应自己的需要。

Compare Bitmaps

由于Array支持IStructuralEquatable接口,可以使用结构比较:

using System.Collections;

. . .

var areEqual = StructuralComparisons.StructuralEqualityComparer.Equals(array1[i], array2[j]);