Я знаю, что у меня не должно быть идентификатора с тем же значением. Это является просто фиктивным, поэтому пропустите это.
Я имею:
List<Car> carList = new List<Car>();
carList.Add(new Car() { id = 1, name = "Honda" });
carList.Add(new Car() { id = 2, name = "Toyota" });
carList.Add(new Car() { id = 1, name = "Nissan" });
Я хочу использовать Лямбда-выражение для получения всех автомобилей, которые имеют идентификатор 1.
Ожидаемый результат:
-- Id: 1, Name: Honda -- Id: 1, Name: Nissan
Проблема больше фильтрует список объектов на основе внешнего ключа.
Использовать LINQ:
IEnumerable<Car> matchingCars = carList.Where(car => car.id == 1);
Использование List
:
List<Car> matchingCars = carList.FindAll(car => car.id == 1);
Я предпочел бы подход LINQ лично - обратите внимание, что это лениво, тогда как FindAll
сразу просматривает весь список и строит новый список с результатами.
Попробуйте это
var match = carList.Where(x => x.id ==1 );