c# - 在 LINQ to Objects 中比较字节数组

标签 c# .net linq comparison linq-to-objects

在 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/

相关文章:

.net - 如何使用 ADO.NET 和 Oracle 在一次调用中运行多个不同的 `insert` 语句?

c# - LINQ to XML 在 xml 中查找特定类别

c# - 使用 LINQ 获取多个节点值

javascript - 我需要一个先在 session 中保存变量然后打开新选项卡的链接

c# - 如何在 Azure 角色中启用自定义 ETW 事件?

c# - Microsoft.DirectX.AudioVideoPlayback程序不起作用

c# - 方法适用于模拟器但不适用于 Microsoft Surface 设备?

c# - WP7 - 解析 XML 数据

c# - 统一DI。通用类型注册和 IsRegistered 方法

c# - Dictionary<int, List<T>> 和 IDictionary<int, IEnumerable<T>> 之间没有分配兼容性?