今天在写博客的页面集功能根据URL去寻找PageLINQ语句从SitePage的GetModelList()集合中获取符合条件的page如果查询不到则跳转到页面代码是这样的 var page = (from p in optSitePageGetModelList() where pVirtualUrlPathToLower() == requestTitleToLower() select p)First() if (null == page) { contextResponseRedirect(/l) return; } 我故意传了个不存在的URL结果linq语句直接报错SystemInvalidOperationException: Sequence contains no elements查了下MSDN发现用了First()的话如果结果集中没有元素它是不会返回null的改成FirstOrDefault()就 好了 ?var page = (from p in optSitePageGetModelList() where pVirtualUrlPathToLower() == requestTitleToLower() select p)FirstOrDefault() traceback |