我正在尝试使用内联 if 在我的控制器中使用 DB 中的一个表获取金额
public ActionResult IfPaid(int id)
{
Ref_ViewModel = new View_model.View_Model();
Ref_ViewModel.GetAllCustomers(id).Any(p => p.Paid == false) ? RedirectToAction("Pay", "Account") : RedirectToAction("Download");
}
我在最后一行收到此错误
只有赋值、调用、递增、递减和新对象表达式可以用作语句
我们如何解决这个问题?
你应该添加一个 return 语句:
public ActionResult IfPaid(int id)
{
Ref_ViewModel = new View_model.View_Model();
return Ref_ViewModel.GetAllCustomers(id).Any(p => p.Paid == false)
? RedirectToAction("Pay", "Account")
: RedirectToAction("Download");
}
正如错误消息所说,三元运算符本身不是一个语句。它可以是另一个语句的一部分 - 例如上述返回语句或赋值语句
int value = condition ? 0 : 42;
延伸阅读:语句(C# 编程指南(