【问题标题】:c sharp asp net core entity framework web app - for each and adding valuescSharp asp net core entity framework web app-for each and added values
【发布时间】:2021-05-19 12:14:18
【问题描述】:

我正在尝试为一个问答网站创建一个奖励系统,其中 5 个答案值得一个奖励。因此,用户每回答 5 个问题,他们就会获得一个奖励,以此类推,他们再次回答接下来的 5 个问题。

现在我有 if 语句,当答案计数为 5 或 10 或 15 等时,用户被重定向到奖励通知,但它看起来不太好,因为我需要为 5,10 做几个 if 语句,15,20,25,30,35,40,45,50,55 等等。

有什么方法可以编写这个代码,也许是一个 foreach 语句或类似的东西?可能每增加5个新答案,这等于1个奖励。

谢谢,如果不清楚,抱歉。让我如何让它更清楚,我是新手。

Code in AnswersController:

public async <TaskIAction> Index()
{
int answerCount = _context.Answers.Where( a => a.UserId == userId).Count();

ViewBag.answerCount = answerCount;
if (answerCount == 5)
{
    return RedirectToAction(nameof(RewardsMessage));
}
else if (answerCount == 10)
{
    return RedirectToAction(nameof(RewardsMessage));
}

return View()

【问题讨论】:

  • 不要将您的代码作为图片发布。请edit 并使用代码格式化工具将您的代码包含为文本。
  • 这个问题与asp.net或javascript完全无关,纯c#,请把问题中不相关的标签去掉。
  • 截图不是很好看,怎么不试试Print Screen键呢?它是内置的,方便,提供最好的质量。
  • 关于格式化文本和文本图像:请参阅this meta post,其中列出了许多重要的原因。代码的照片或屏幕截图确实对所有人都没有帮助或可读性。
  • @KingKing - 即使是干净的屏幕截图也不能真正接受(请参阅我刚刚在 cmets 中发布的链接) - 非常有限。格式化文本是要走的路。

标签: c# asp.net-mvc asp.net-core entity-framework-core


【解决方案1】:

可以查看5除法后的提醒是否为0

if ((answerCount > 0) && (answerCount % 5 == 0)) 
{
    return RedirectToAction(nameof(RewardMessage));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多