public IEnumerable<TouristRoute> GetTouristRoutes(string keyword, string ratingOperator, int? ratingValue)
{
IQueryable<TouristRoute> result = _context.TouristRoutes.Include(p => p.TouristRoutePictures);
//如果关键字不为空, 则使用关键词查询
if (!string.IsNullOrWhiteSpace(keyword))
{
keyword = keyword.Trim();
result = result.Where(t => t.Title.Contains(keyword));
}
if (ratingValue >= 0)
{
//switch的新语法糖
result = ratingOperator switch
{
"largerThan" => result.Where(t => t.Rating >= ratingValue),
"lessThan" => result.Where(t => t.Rating <= ratingValue),
_ => result.Where(t => t.Rating == ratingValue), //default
};
//switch (ratingOperator)
//{
// case "largerThan":
// result = result.Where(t => t.Rating >= ratingValue);
// break;
// case "lessThan":
// result = result.Where(t => t.Rating <= ratingValue);
// break;
// case "equalTo":
// result = result.Where(t => t.Rating == ratingValue);
// break;
// default:
// break;
//}
}
return result.ToList();
}
C#中 switch 语句的语法糖
最新推荐文章于 2025-11-18 17:47:07 发布
该代码段展示了一个C#方法,用于从数据库中获取符合特定关键词和评分条件的旅游路线。首先,它加载所有旅游路线及其图片。接着,如果提供了关键词,则过滤标题包含关键词的路线。对于评分条件,使用新的switch语法根据指定的比较操作符(大于、小于或等于)来过滤路线。返回符合条件的旅游路线列表。
805

被折叠的 条评论
为什么被折叠?



