我有一个带有价格的属性对象列表。我希望清单在一定价格之内。
例如
最高价格: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));
代码运行正常。有更好的方法吗?
答案 0 :(得分:1)
您的代码很好。
如果需要,可以为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))
答案 1 :(得分:1)
您可以尝试以更复杂的方式编写查询,
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));
答案 2 :(得分:0)
您的范围条件看起来不对,应该是x.Price >= minPrice && x.Price <= maxPrice
,如果您要查找类似SQL between
这样的语法,则不存在,