.net - 无法在 LINQ 中转换类型 'WhereSelectListIterator` 的对象

标签 .net vb.net linq list backgroundworker

我有BackgroundWorkerCollection,它是特定类的列表。当我尝试循环进入列表并过滤并选择一个时,我收到了提到的错误。

//代码

Dim bw = From BackgroundWorkerLinq In BackgroundWorkerCollection Where BackgroundWorkerLinq.Id = sItemNo Select BackgroundWorkerLinq.Backgroundworker

是否可以将bw转换为Backgroundworker,在应用程序中创建的类有两个属性Id(int)和Backgroundworker( 后台 worker )。所以我必须转换回相同的值来检查是否忙。

我错在哪里以及如何实现这一目标?

最佳答案

bw 将是 BackgroundWorker 项目的序列 - 因此您无法从该序列转换为单个项目。有多种方法可以为您提供单个项目,例如

  • 第一个
  • FirstOrDefault
  • 单个
  • 单一或默认
  • 最后
  • LastOrDefault

您应该确定是否应该使用其中之一,或者实际上迭代所有查询结果。

关于.net - 无法在 LINQ 中转换类型 'WhereSelectListIterator` 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18634654/

相关文章:

.net - SQLite:BLOB用于存储大文件吗?

.net - 使用 GML 命名空间创建 XElement 对象时出现问题

c# - ResourceProviderFactory 周期刷新

c# - 比较两个 List<T> 并将其合并到新的 List<T> 中

c# - 发送/接收 WiFi 流量数据

c# - 什么是NullReferenceException,如何解决?

vb.net - 来自 UIElement 的 Cast(Of ?)

vb.net - 从提升的/作为管理员进程运行非提升的子进程

c# - 如何将表达式传递到 LINQ 查询中?

c# - {} 在 linq 结果中