我在 c# 中使用以下代码,如下所示。
var result = (from o in db.tblOrderMasters
join od in db.tblOrderDetails on o.order_id equals od.orderdetails_orderId
join c in db.tblCountryMasters on o.order_dCountry equals c.country_id
join cu in db.tblCustomers on o.order_Custid equals cu.cust_id
where o.order_id == orderid && o.order_active == true && o.order_IsDeleted == false && (o.order_status == 2)
select new
{
Code = o.order_code,
Name = o.order_dFirstName + " " + o.order_dLastName,
Quantity = od.Quantity,
[...snip...]
}).ToList();
var Qresult = result;
try
{
foreach (var r in result)
{
if (r.Quantity > 1)
{
for (int i = 1; i < r.Quantity; i++)
{
Qresult.Add(r);
}
}
}
}
收藏已修改;枚举操作可能无法执行。
当我阅读与此错误相关的其他答案时,他们说您在迭代列表时无法修改列表,但是在我的代码中,我没有修改result
列表,而是更改了一个新列表Qresult
并迭代主列表,result list
为什么会出现这个错误来了 ?
我想在这里提到的另一件事是,当我使用时,quickwatch
我可以在结果项中看到这一行也添加了
Qresult.Add(r);
但我正在添加项目,Qresult
所以为什么要添加项目result