首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使我检查我的IEnumerable是否为空,我仍然得到一个空的exception...why?

即使我检查我的IEnumerable是否为空,我仍然得到一个空的exception...why?
EN

Stack Overflow用户
提问于 2010-10-07 06:48:46
回答 4查看 1.3K关注 0票数 1

下面的代码中的第25行如何生成下面的错误?我很困惑。ProductSuggestions为IEnumerable<Product> ProductSuggestions

代码语言:javascript
复制
Line 24: <%if (Model.ProductSuggestions != null) { %>
Line 25:     <%if (Model.ProductSuggestions.Any()) { 

对象引用未设置为对象的实例。

说明:当前web请求执行过程中发生未处理异常。请查看堆栈跟踪,以了解有关错误的更多信息以及错误在代码中的来源。

异常详细信息: System.NullReferenceException:未将对象引用设置为对象的实例。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-10-07 19:52:14

我很抱歉,但根据我给出的信息,这个问题不会很容易解决。

睡了一觉后,我突然意识到,即使我输入的列表是IEnumerable,它实际上仍然是一个IQueryable,因为它是如何从我的存储库中的LINQ查询中出来的。由于IQueryable的延迟执行,直到我在视图中的集合上调用.Count().Any(),这个问题才变得明显起来。

问题实际上出在存储库中,我的LINQ查询设置没有考虑到可能的NULL。

所以,答案应该是:你这个笨蛋,你确定你正在处理的是IEnumerable而不是IQueryable?如果这真的是一个IQueryable,您确定问题不是在LINQ查询本身,也不是在执行它的地方吗?:)

票数 0
EN

Stack Overflow用户

发布于 2010-10-07 06:59:21

你确定问题在25行而不是24行吗?尝试制作第24行

代码语言:javascript
复制
<%if (Model != null && Model.ProductSuggestions != null) { %>

看看你是否会得到同样的错误。我猜你不会的。

票数 2
EN

Stack Overflow用户

发布于 2010-10-07 06:56:23

NullReferenceException可以引用ProductSuggestions对象的成员吗?

我最近遇到了一个问题,我检查父对象是否为空,但是当我试图访问任何子属性时,我就收到了NullReferenceException。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3877463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档