欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

LINQ语句检查空对象的问题

程序员文章站 2024-01-05 18:06:34
今天在写博客的页面集功能,根据url去寻找page,linq语句从sitepage的getmodellist()集合中获取符合条件的page,如果查询不到则跳转到404页面。代码是...

今天在写博客的页面集功能,根据url去寻找page,linq语句从sitepage的getmodellist()集合中获取符合条件的page,如果查询不到则跳转到404页面。代码是这样的:

var page = (from p in optsitepage.getmodellist()             where p.virtualurlpath.tolower() == requesttitle.tolower()             select p).first();   if (null == page) {     context.response.redirect("/404.html");     return; }

我故意传了个不存在的url,结果linq语句直接报错:system.invalidoperationexception: sequence contains no elements。查了下msdn发现用了first()的话,如果结果集中没有元素,它是不会返回null的。改成firstordefault()就 好了。

?var page = (from p in optsitepage.getmodellist()             where p.virtualurlpath.tolower() == requesttitle.tolower()             select p).firstordefault();

traceback http://www.wyjexplorer.cn/home/view/d44f795b009e20fd.html

 

摘自  汪宇杰