2011-01-19 55 views
2

比較在LINQ查詢:字節數組中LINQ到對象

from c in results 
where c.ByteField == byteData 
select c; 

我是從這個沒有得到結果,即使字節是相同的:

字節[5] = 49,50 ,51,52,53

如何在LINQ中正確比較字節到對象?

謝謝。

+0

@Axarydax - 我不會說那些相關的。該答案正確測試長度,並且相同的元素在數組中...但忽略順序。在OP案例中,順序也很重要。 – 2011-01-19 19:38:11

回答

10

在LINQ to對象(如您的文章顯示在標題),您可以使用IEnumerable.SequenceEqual()

from c in results 
where c.ByteField.SequenceEqual(byteData) 
select c; 

不幸的是,它看起來像你使用LINQ to基於SQL(或實體框架)的使用context。沒有SequenceEqual的SQL等價物,所以在這種情況下不起作用。

+0

糟糕,我不是故意在那裏,它實際上是對象的LINQ。謝謝。 – 2011-01-20 00:46:38