相关疑难解决方法(0)

特殊错误是否真的例外?

我的理解是,普遍的智慧说只使用异常才能获得真正特殊的条件(事实上,我已经多次在SO上看到过这种说法).

然而,Krzysztof Cwalina说:

关于例外的最大误解之一是它们用于"特殊条件".现实情况是它们用于传达错误条件.从框架设计的角度来看,没有"特殊条件"这样的东西.条件是否异常取决于使用的上下文,但可重用的库很少知道如何使用它们.例如,对于简单的数据输入应用程序,OutOfMemoryException可能是例外; 对于进行自己的内存管理的应用程序(例如SQL服务器)来说,这并不是那么特别.换句话说,一个人的特殊情况是另一个男人的慢性病.

然后,他接着说,例外情况应该用于:

  • 使用错误
  • 程序错误
  • 系统故障

考虑到Krzysztof Cwalina是MS CLR团队的PM,我问:你如何看待他的陈述?

language-agnostic frameworks exception

31
推荐指数
4
解决办法
6211
查看次数

使用 Single 和 SingleOrDefault 之间的逻辑区别是什么?

我不知道该用在哪里Single,又该用在哪里SingleOrDefault。我理解两者的定义。

单身的:

  1. 它总是返回一行。

  2. 如果没有找到行,我会得到一个异常。

  3. 如果找到多行,我会得到一个异常。

单一或默认:

  1. 它总是返回一行,如果没有找到则返回默认值(What is the meaning of this DEFAULT VALUE").

  2. 如果有多行则异常。

问题1:“它将返回默认值”是什么意思

问题2:什么时候使用Single,什么时候使用SingleOrDefault。

我有一个删除功能,其中有以下代码:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Delete(int resumeId)
{
    var r = _context
        .Resumes
        .Where(c => c.ResumeId == resumeId).SingleOrDefault();
    _context.Resumes.Remove(r);
    _context.SaveChanges();

    return RedirectToAction("ResumeCenter");
}
Run Code Online (Sandbox Code Playgroud)

我只是盲目地到处放置SingleOrDefault(我至少期望一个值),请告诉我一个现实世界的场景,何时我应该使用“Single”以及我应该在哪里使用“SingleOrDefault”。

c# asp.net-mvc entity-framework asp.net-mvc-5

0
推荐指数
1
解决办法
4435
查看次数