我想測試一個元素是否等於一個數組。但是,即使array==arraylist[element]
的值爲repetitive
仍然設置爲false。檢查arraylist元素等於一個數組
這裏是我的代碼:
bool repetitive = false;
foreach(var element in arraylist)
{
if (array.Equals(element))
repetitive = true;
}
return repetitive;
我想測試一個元素是否等於一個數組。但是,即使array==arraylist[element]
的值爲repetitive
仍然設置爲false。檢查arraylist元素等於一個數組
這裏是我的代碼:
bool repetitive = false;
foreach(var element in arraylist)
{
if (array.Equals(element))
repetitive = true;
}
return repetitive;
你需要你已經找到了重複的值之後,要麼返回true或做一個or equals
。
,則返回true方法:
bool repetitive = false;
foreach(var element in arraylist)
{
if (array.Equals(element))
return true; //<<< This is the difference
else
repetitive = false;
}
return repetitive;
,或者使用逐位或-等於
bool repetitive = false;
foreach(var element in arraylist)
{
if (array.Equals(element))
repetitive |= true;
else
repetitive |= false;
}
return repetitive;
但第三行從未發生! –
你比較哪些元素?也許它是比較內存引用而不是值? – Jason
真的只是測試中'arraylist'的最後一個項目,您重置'repetitive'每迭代 – Jonesopolis
什麼是數組,什麼是「元素」的類型。這段代碼的目標是什麼? – mybirthname
int [,] array = new int [8,8]; –