Подтвердить что ты не робот

Запрос массива объектов с использованием linq

Я хотел бы знать, как я могу запросить массив объектов. Например, у меня есть объект массива, такой как CarList. Поэтому CarList [0] вернет мне объект Car. У автомобиля есть свойства Model and Make. Теперь я хочу использовать linq для запроса массива CarList, чтобы получить Make of Car, модель которого называется "bmw". Я попробовал следующее

var carMake = from item in CarList where item .Model == "bmw" select s.Make;

Я получаю сообщение об ошибке

Не удалось найти реализацию шаблона запроса для типа источника CarList []

Я не могу изменить CarList из массива на что-то вроде List < > , так как CarList убирается ко мне как массив из webservice.

Пожалуйста, дайте мне знать, как это можно решить. Было бы здорово, если бы вы могли объяснить использование кода С#.

Спасибо заранее.

4b9b3361

Ответ 1

Добавить

using System.Linq;

в начало файла.

И затем:

Car[] carList = ...
var carMake = 
    from item in carList
    where item.Model == "bmw" 
    select item.Make;

или если вы предпочитаете свободный синтаксис:

var carMake = carList
    .Where(item => item.Model == "bmw")
    .Select(item => item.Make);

На что обратить внимание:

  • Использование item.Make в предложении select вместо if s.Make, как в вашем коде.
  • У вас есть пробел между item и .Model в предложении where