如何在c#中比较两个2D数组

本文关键字:两个 2D 数组 比较 | 更新日期: 2023-09-27 18:11:09

我有两个不同长度的2D数组,都是double类型。我试图比较第一个数组的内容和第二个数组的内容。然而,当第一个元素中的一个值等于第二个元素中的一个值时,分数是增加的而不是当i和j的值同时等于x和y的值时,有人能帮我吗?我使用的代码可以在下面找到:

    if (result1.Length <= result2.Length)
            {
                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < result1.Length / 2; j++)
                    {
                        for (int x = 0; x < 2; x++)
                        {
                            for (int y = 0; y < result2.Length / 2; y++)
                            {
                                if (result1.GetValue(i, j).Equals(result2.GetValue(x, y)))
                                {
                                    score++;
                                }
                            }
                        }
                    }
                }

如何在c#中比较两个2D数组

根据您的评论更新,下面,我认为您需要同时检查第一列相等和第二列相等,如果两者匹配,只增加分数

if (result1.Length <= result2.Length)
{
    for(int i = 0; i < result1.Length; i++)
    {
        for(int j = 0; j < result2.Length; j++)
        {
            if (result1[i,0] == result2[j,0] && result1[i,1] == result2[j,1])
            {
                score++;
            }
        }
    }
}

试试吧:

if(result1[i,j] == result2[i,j])
score++;