我有有价财产的对象的列表。我想该列表,以一定的价格范围内。
例如
最高价: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));
该代码是工作的罚款。有没有更好的办法做到这一点?
您的代码就好了。
如果你愿意,你可以创建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))
你可以试着查询写入到更复杂的方式一样,
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));
你的范围条件看起来相当错误应该是x.Price >= minPrice && x.Price <= maxPrice
,如果你正在寻找像SQL between
然后语法不行,有没有这样的contruct本