C # список мин и макс диапазон - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть список объекта недвижимости, который имеет цену.Я хочу, чтобы список был в пределах определенной цены.

Например

Максимальная цена: 800000 Минимальная цена: 200000

results = props.results.Where(x => x.PropertyType.ToLower() != propertytype.ToLower()   && (x.Price >= minPrice && x.Price <= maxPrice)).OrderByDescending(x => Math.Abs(x.Price - price));

Код работает нормально.Есть ли лучший способ сделать это?

Ответы [ 3 ]

0 голосов
/ 06 февраля 2019

Ваш код просто в порядке.

Если вы хотите, вы можете создать метод расширения для int (или любого типа данных, который вы используете), как:

public static class Extensions
{
    public static bool IsBetween(this int value, int min, int max)
    {
        return value >= min && value <= max;
    }
}

иНазовите это как

integers.Where(x => x.IsBetween(3, 5))
0 голосов
/ 06 февраля 2019

Вы можете попробовать написать свой запрос более изощренным способом, например,

results = props.results.Where(x => x.PropertyType.ToLower() != propertytype.ToLower())
                       .Where(y => y.Price >= minPrice && y.Price <= maxPrice)
                       .OrderByDescending(z => Math.Abs(z.Price - price));
0 голосов
/ 06 февраля 2019

Ваше условие диапазона выглядит неправильно, скорее, оно должно быть x.Price >= minPrice && x.Price <= maxPrice, и если вы ищете синтаксис, такой как SQL between, то нет, такой конструкции нет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...