Reputation: 2185
I would like to know how can I query an array of objects. For example I have an array object like CarList. So CarList[0] would return me the object Car. Car has properties Model and Make. Now, I want to use linq to query the array CarList to get the Make of a Car whose Model is say "bmw". I tried the following
var carMake = from item in CarList where item .Model == "bmw" select s.Make;
I get the error
Could not find an implementation of the query pattern for source type CarList[]
I cannot change CarList from array to something like List<> since CarList is retured to me as array from a webservice.
How can this be solved?
Upvotes: 58
Views: 184183
Reputation: 1039418
Add:
using System.Linq;
to the top of your file.
And then:
Car[] carList = ...
var carMake =
from item in carList
where item.Model == "bmw"
select item.Make;
or if you prefer the fluent syntax:
var carMake = carList
.Where(item => item.Model == "bmw")
.Select(item => item.Make);
Things to pay attention to:
item.Make
in the select
clause instead if s.Make
as in your code.item
and .Model
in your where
clauseUpvotes: 98