我正在使用简单的foreach循环时遇到了问题。我想把数据库中的数据添加到我的列表中。
IList<DeliveredTaskModel> deliveredTaskModel = new List<DeliveredTaskModel>();
// lines of code
if (materialUsed.Count > 0)
{
foreach (var material in materialUsed)
{
var deliveryModel = new DeliveredTaskModel();
deliveryModel.Info = materialUsed[0].SubPartCode;
deliveryModel.Description = materialUsed[0].Description;
deliveryModel.Qty = materialUsed[0].Qty;
deliveredTaskModel.Add(deliveryModel);
}
}
当我在foreach上设置断点时,我可以看到materialUsed中有4个不同的项目。然而,当我使用foreach时,它只是将4个相同的项目添加到网格中。 我猜它会不断地添加相同的项目,但为什么呢?有人能解释一下吗?
material
替代第一个项目materialUsed[0]
。 - Alessandro D'AndriamaterialUsed
集合的第一个元素。因此,不要使用materialUsed[0]
,而是使用在你的foreach
循环中声明的变量material
。 - Nino