使用foreach迭代通用列表并将值添加到List <dto>中

时间:2015-11-03 07:12:46

标签: c# list generics foreach

我正在将一些值添加到我的通用列表中,就像这样

List<IGroup> Details = Operations.GetAllGroups();

现在我有一个DTO需要用作List<DTO>。现在我必须遍历Details并使用foreach循环将值填充到List中。

怎么做?我试过,但我无法获得Details列表的字段。

更新..  像这样试过..

 foreach (var v in Details) {

 group.Add(request.ActiveDirectoryGroupName = v.DisplayName, request.GroupDescription = v.Description, request.GroupTypeName = "", request.ApplicationIdentifier = "", request.ApplicationRightsDescription = "");

}

此处请求是调用DTO的字段。

2 个答案:

答案 0 :(得分:4)

我认为这是你想要的:

List<DTO> DTO = new List<DTO>;
foreach (IGroup ele in Details)
{
  DTO request = new DTO();
  // here you can extract details properties.
  request.ActiveDirectoryGroupName  = ele.DisplayName;
  ...
  ...
  DTO.Add(request);
}

当然,您需要根据您的要求进行编辑。

答案 1 :(得分:3)

这应该适合你:

List<DTO> dtos = Details.Select(v => new DTO()
{
    ActiveDirectoryGroupName = v.DisplayName,
    GroupDescription = v.Description,
    GroupTypeName = "",
    ApplicationIdentifier = "",
    ApplicationRightsDescription = "",
}).ToList();