您好我正在开发一个mvc4应用程序。我遇到了一个场景,我想添加项目列表。我有一个foreach循环,我有一个列表。 这是我的代码。
foreach (var indId in myuploadId)
{
List<emailClass> getemailDetails = objBAL.getemailDetails(indId);
List<emailClass> obj = new List<emailClass>();
obj.AddRange(getemailDetails);
}
这是我的代码段。 getemailDetails方法将从数据库中获取一些数据并将其添加到obj列表中。在foreach循环的第二次迭代中,它从数据库中获取相应的数据并将其添加到obj,但在这里我遇到了问题。每当我向obj添加第二个项目时,我的第一个项目就会消失。有人能告诉我如何保留列表中的信息?谢谢。
答案 0 :(得分:3)
您需要在循环之外移动列表的声明。在每个循环中,会创建一个新列表,旧列表将丢失。
将您的代码更改为如下所示,查看列表是否在循环之外,以便每次都重复使用而不是替换。
List<emailClass> getemailDetails = new List<emailClass>();
List<emailClass> obj = new List<emailClass>();
foreach (var indId in myuploadId)
{
getemailDetails = objBAL.getemailDetails(indId);
obj.AddRange(getemailDetails);
}