【问题标题】:LINQ enumeration list doesn't show up the error when accessed it for second time while debugging调试时第二次访问LINQ枚举列表时不显示错误
【发布时间】:2010-07-23 12:21:28
【问题描述】:

我正在使用 linq 进行数据库调用,它正在向我返回一些结果。以下是相同的代码:

var resultSet = DataContext.GetList(id);

foreach(var result in resultSet)
{
    // do something here with result
}

在此之后,我尝试再次访问相同的结果集,如下所示:

foreach(var result in resultSet)
{
    // do something here with result
}

当我处于调试模式时,它不会抛出任何错误,而是简单地退出调试模式,执行完成,焦点回到页面。

我想知道为什么我第二次使用枚举在调试模式下没有抛出任何错误?我错过了什么吗?即使在调试模式下,所有其他错误都会引发异常。

更新:我故意没有打第二个电话。这是错误地完成的,但是我花了一些时间才发现该错误,如果它会引发错误,那么我会很容易地修复它。这就是我在这里发布这个问题的原因。

注意:我这样做会抛出一个 ajax 调用。

【问题讨论】:

  • 由于你使用了var,我们无法知道resultSet的类型,也无法知道多次枚举是否违法。

标签: c# linq


【解决方案1】:

我想如果你去Debug (Menu)> Exceptions 并选中Thrown 下的复选框以获取Common Language Runtime Errors。现在 Visual Studio 调试器应该会在错误发生时中断,您应该能够看到发生了什么。

【讨论】:

    猜你喜欢
    • 2011-09-01
    • 2021-01-14
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多