Насколько вы используете Contains
, я бы сказал, что вы могли бы пытаться получить
- записи,
city
из которых соответствует какому-либо город от mystring
- записей,
city
которых соответствуют всем городам от mystring
Таким образом, имея (я упростил searchModel
класс, опустив property
):
List<searchModel> obj = new List<searchModel>
{
new searchModel{city = "city1"},
new searchModel{city = "city2"},
new searchModel{city = "city3"}
};
var mystring = "city1,city2";
var subs = mystring.Split(',').ToList(); //let it be also List<T>
Мы можем сделать:
//the 1st option
var orFilter = obj.Where(o => subs.Any(s => o.city.ToLower().Contains(s)))
.ToList();
//the 2nd option
var andFilter = obj.Where(o => subs.TrueForAll(s => o.city.ToLower().Contains(s)))
.ToList();
Затем сделайте простую проверку
foreach (var o in andFilter)
{
Console.WriteLine(o.city);
}
Я бы сказал, что OP равно equ al до варианта 2, а не варианта 1.
Есть свойство в вашем классе 'searchModel', называемом' property'? Отправьте код для класса 'searchModel'. –
Что вы хотите сделать? –
Каков ожидаемый результат, каков текущий результат? –