无法在LINQ中强制转换'WhereSelectListIterator`类型的对象

时间:2013-09-05 11:04:19

标签: .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(Backgroundworker)。所以我必须转换回相同以检查是否繁忙。

我哪里错了,如何实现?

1 个答案:

答案 0 :(得分:7)

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

  • First
  • FirstOrDefault
  • Single
  • SingleOrDefault
  • Last
  • LastOrDefault

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