使用三元运算符而不用linq?

时间:2012-10-27 10:17:04

标签: c# linq

我需要知道如何在没有其他情况下使用三元运算符。在示例中,我需要检查2个标准(cityId != null) && (cityId != 0)。我不能正常使用条件。所以,如果没有发生,我想列出所有标题。我不想显示其他条件是x.ProvinceId == 15

public JsonResult mt(int? cityId)
        {
            var getCities = locationRepository.Get(null).Where(x => ( (cityId != null) && (cityId != 0) ? x.ProvinceId == cityId : x.ProvinceId == 15  )).Select(x=>x.Title);

            return Json(new { items = getCities }, JsonRequestBehavior.AllowGet);
        }

1 个答案:

答案 0 :(得分:1)

条件运算符是三元运算符,意味着它接受三个操作数。因此省略一个就像省略了加法的第二个操作数。

但是你可以简单地将其重新格式化为一个条件

取决于如果不满足条件,实际应该发生什么。 这将接受所有不符合您条件的

x => (cityId ?? 0) == 0 || x.ProvinceId == cityId