2012-10-27 32 views
0

我需要知道如何在沒有其他情況下使用三元運算符。在這個例子中,我需要檢查2個標準(cityId != null) && (cityId != 0)。我不能使用正常條件。所以如果沒有發生,我想列出所有的標題。我不想展示在其他條件x.ProvinceId == 15在linq中使用三元操作而不使用其他操作?

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

它被稱爲條件運算符 –

回答

1

條件運算符是一個三元運算符,這意味着它接受三個操作數。因此省略一個就像省略了一個加法的第二個操作數。

但是你可以簡單地重新格式化爲一個條件

取決於如果條件不滿足,我應該實際發生。 這將接受所有不符合您的條件

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