如何动态地在c#中添加项目列表

时间:2016-11-17 09:51:17

标签: c# list asp.net-mvc-4

您好我正在开发一个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添加第二个项目时,我的第一个项目就会消失。有人能告诉我如何保留列表中的信息?谢谢。

1 个答案:

答案 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);
}