Используя LINQ, как я могу отфильтровать коллекцию по частичному строковому свойству? - PullRequest
3 голосов
/ 21 февраля 2011

У меня есть коллекция объектов Car,

IEnumerable<Car>

И я хочу вернуть отфильтрованную коллекцию автомобильных объектов на основе частичного совпадения строк (оно не обязательно должно начинаться с), в котором свойство Car.Name содержит определенный текст.

Возможно ли это с помощью LINQ?

Ответы [ 4 ]

6 голосов
/ 21 февраля 2011
from c in cars
where c.Name.Contains("certain text")
select c

или

cars.Where(c => c.Name.Contains("certain text"))
1 голос
/ 21 февраля 2011

Вы можете использовать Contains:

var cars = new List<Car>(); //Or whatever makes sense.

var filteredCars = cars.Where(c => c.Name.Contains("searchstring"));
1 голос
/ 21 февраля 2011
IEnumerable<Car> cars = ...
var filteredCars = cars.Where(car => car.Name.Contains("your text"));
0 голосов
/ 21 февраля 2011

Это может делать то, что вы хотите:

var filteredCars = cars.Where(car => car.Name.Contains("Fiesta"));

Вы можете увеличить сложность предиката, как хотите.

...