I have an ItemCollection that I\'d like to query using LINQ. I tried the following (contrived) example:
var lItem =
from item in lListBox.Items
where Str
It's because ItemCollection only implements IEnumerable
, not IEnumerable
.
You need to effectively call Cast
which is what happens if you specify the type of the range variable explicitly:
var lItem = from object item in lListBox.Items
where String.Compare(item.ToString(), "abc") == 0
select item;
In dot notation, this is:
var lItem = lListBox.Items
.Cast
If course, if you have a better idea of what's in the collection, you could specify a more restrictive type than object
.