2015-01-08 63 views
0

我想測試一個元素是否等於一個數組。但是,即使array==arraylist[element]的值爲repetitive仍然設置爲false。檢查arraylist元素等於一個數組

這裏是我的代碼:

bool repetitive = false; 
foreach(var element in arraylist) 
{ 
    if (array.Equals(element)) 
     repetitive = true; 
} 
return repetitive; 
+4

真的只是測試中'arraylist'的最後一個項目,您重置'repetitive'每迭代 – Jonesopolis

+0

什麼是數組,什麼是「元素」的類型。這段代碼的目標是什麼? – mybirthname

+0

int [,] array = new int [8,8]; –

回答

1

你需要你已經找到了重複的值之後,要麼返回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; 
+0

但第三行從未發生! –

+0

你比較哪些元素?也許它是比較內存引用而不是值? – Jason

相關問題