我想比较两个数组,如果所有的值都相同,我会做一些东西。我写这样的函数来检查是否有任何不同的值。如果是这样返回false。两个数组有相同的值,但不返回相等
bool Deneme()
{
for (int i = 0; i < correctOnes.Length; i++) {
if(correctOnes[i] != cubeRotation[i].rotation.eulerAngles)
{
return false;
}
}
return true;
}
当我调用Deneme函数时,它总是返回false。但是,我检查控制台中的数组值,它们都是相同的。任何想法是怎么回事?
检查一样,
for (int i = 0; i < correctOnes.Length; i++) {
Debug.Log ("Corrects: " + correctOnes[i]);
Debug.Log ("Cubes: " + cubeRotation[i].rotation.eulerAngles);
}
一试。如果他们是平等的,你为什么不使用Array.Equals()? –
@cFrozenDeath:出于两个原因;因为它是一个与数组对象中的属性进行比较的值数组,因为Array.Equals比较了引用而不是数组值。 – Guffa
您比较的值的类型是什么? – Guffa