【问题标题】:Using foreach to iterate through Generic List and add Values into List<DTO>使用 foreach 遍历通用列表并将值添加到 List<DTO>
【发布时间】:2015-11-03 07:12:45
【问题描述】:

我正在像这样将一些值放入我的通用列表之一

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

现在我有一个 DTO,我需要将其用作 List&lt;DTO&gt;。现在我必须遍历 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 的字段。

【问题讨论】:

  • 有了你给我们的详细信息,我们唯一能给出的答案是一个像List&lt;DTO&gt; dtos = Details.Select(x =&gt; new DTO(x)).ToList(); 这样的微不足道的答案,但我认为这对你没有多大帮助。
  • @WaqarAhmed 我更新了我的帖子..请看看..
  • @Lara - 您能否添加 grouprequest 的声明和类定义?

标签: c# list generics foreach


【解决方案1】:

我想这是你想要的:

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

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

【讨论】:

    【解决方案2】:

    这应该适合你:

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

    【讨论】:

      猜你喜欢
      • 2011-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      • 1970-01-01
      • 2021-02-13
      • 2015-03-11
      • 2019-08-03
      相关资源
      最近更新 更多