Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / фильтр C# / 5 сообщений из 5, страница 1 из 1
11.01.2014, 19:22
    #38523105
Xautolocksmith
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтр C#
Доброе время суток!

Подскажите кто знает, есть коллекция товара. Как можно наложить фильтр по цене. Например нужно отобрать только те которые по цене 0 и те которые по цене от 100 до 200 долл. и те которые по цене от 800 до 1000 долл.

как это можно реализовать?
...
Рейтинг: 0 / 0
11.01.2014, 19:39
    #38523118
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтр C#
Код: c#
1.
2.
3.
4.
5.
6.
var productList = new List<Product>();

// Коллекция как-то заполняется...

// и в следующей строке накладывается фильтр
var filteredList = productList.FindAll(p => p.Price == 0 || (p.Price >= 100 && p.Price <= 200) || (p.Price >= 800 && p.Price <= 1000));
...
Рейтинг: 0 / 0
13.01.2014, 12:46
    #38524164
Xautolocksmith
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтр C#
А если не известно количество условий отбора (количество диапазонов). Пользователь отмечает галочками, какие диапазоны фильтра активировать?
...
Рейтинг: 0 / 0
13.01.2014, 12:51
    #38524178
netivan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтр C#
XautolocksmithА если не известно количество условий отбора (количество диапазонов). Пользователь отмечает галочками, какие диапазоны фильтра активировать?
строить динамически запрос. LINQ dynamic query посмотрите в гугле, там будет интересного всего много.
...
Рейтинг: 0 / 0
13.01.2014, 13:47
    #38524287
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтр C#
XautolocksmithА если не известно количество условий отбора (количество диапазонов). Пользователь отмечает галочками, какие диапазоны фильтра активировать?
Создайте метод, где проверяйте эти свои галочки:
Код: c#
1.
2.
3.
4.
public bool SatisfyUserConditions(Product product)
{
   // ...
}


и используйте его
Код: c#
1.
var filteredList = productList.FindAll(SatisfyUserConditions);
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / фильтр C# / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]