处理’序列没有元素’例外
我正在更新我的购物车中的数量,但它正在抛出一个序列没有元素的例外。
我不知道这甚至意味着什么。 起初我以为可能在某处传递了空值,但事实并非如此,因为我已经检查过:
Sequence不包含任何元素描述:在执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
exception详细信息:System.InvalidOperationException:Sequence不包含任何元素
来源错误:
第35行:var uid = WebSecurity.CurrentUserId; 第36行:var newqty = Request.Form [“Quantity”]; 第37行:
OModel.Cart c =(来自database.Carts第38行中的项目:
其中item.UserId == uid && item.PartNumber == pnumber && item.OrderId == oid第39行:选择项目。)first();
可能导致这种情况的任何想法?
如果您的select返回0行,则First()
会导致此操作。 您要么必须捕获该exception,要么使用FirstOrDefault()
,如果没有元素,它将返回null。
您正在使用linq的First()方法,如果您在空集合上调用它,则根据文档抛出InvalidOperationException。
如果您希望查询结果有时为空,您可能希望使用FirstOrDefault(),如果集合为空,它将返回null,而不是抛出exception。
而不是.First()
将其更改为.FirstOrDefault()
该值为null,您必须检查原因…(除了此处提出的解决方案的实现)
检查硬件连接。
“处理”’序列没有元素’的部分答案VB中的exception是测试空的
If Not (myMap Is Nothing) Then ' execute code End if
其中MyMap是查询的序列,返回空/ null。 FYI
上述就是C#学习教程:处理’序列没有元素’例外分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1000248.html