【发布时间】:2017-06-03 08:21:45
【问题描述】:
下面的代码行基于 RowIndex 对 IEnumerable 执行 FirstOrDefault 搜索,但在调试窗口(在 Watch、Quick watch 和 Immediate 窗口)中不起作用。它会在这些窗口中引发 System.NullReferenceException。我正在使用 Visual Studio 2015 更新 3。
sheetdata.Descendants<Row>().FirstOrDefault(p => p.RowIndex.Value == 2U)
但是当我将它转换为列表并执行相同的搜索时,它可以在这些调试窗口中工作。为什么会出现这种差异?
sheetdata.Descendants<Row>().ToList().FirstOrDefault(p => p.RowIndex.Value == 2U)
当我运行代码时,不存在这种差异。只有当我尝试在这些调试窗口中调试代码时才能看到这种差异。
【问题讨论】:
-
“不起作用”根本无法描述您所看到的内容。请澄清,并提供minimal reproducible example。
-
Convert.ToUInt32(2))天哪。2u -
这并不能解决问题。我通过避免转换来更新问题。
标签: c# ienumerable openxml watch immediate-window