Wou*_*hut 13 c# visual-studio-2012
我被困了,为什么会这样?代码字面上说实体!= null但调试器认为它是null.到底是怎么回事?
我已经改为x86,重新编译,清理,甚至重新启动电脑.并且代码总是这样,没有if语句不同的版本.如果我继续,我不会得到空指针异常.
小智 0
我不确定,但我认为这是foreach循环与函数结合的效果ChangeTracker.Entries()。
foreach函数是按需收集一些数据。因此,它不会获取所有数据ChangeTracker.Entries(),然后使用每个值启动循环。
更多的是从函数中获取第一个值 --> 执行该值 --> 获取第二个值 --> ...
所以该值为 null,因为您还没有使用该对象。
改变你的ChangeTracker.Entries()样子ChangeTracker.Entries().ToList(),我想你会看到变化。
查看该yield命令以更深入地了解迭代器函数的工作原理。(逻辑有点混乱:))
| 归档时间: |
|
| 查看次数: |
1437 次 |
| 最近记录: |