在 LINQ 查询中:
from c in results
where c.ByteField == byteData
select c;
即使字节相同,我也没有得到任何结果:
字节[5] = 49, 50, 51, 52, 53
如何在 LINQ to Objects 中正确比较字节?
谢谢。
最佳答案
在 LINQ to Objects 中(正如您的帖子在标题中所暗示的那样),您可以使用 IEnumerable.SequenceEqual()
:
from c in results
where c.ByteField.SequenceEqual(byteData)
select c;
不幸的是,根据您对 context
的使用,您似乎正在使用 LINQ to SQL(或 Entity Framework)。没有与 SequenceEqual 等效的 SQL,因此在那种情况下这将不起作用。
关于c# - 在 LINQ to Objects 中比较字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4739697/