【问题标题】:Add string item from list B to List<string> within list A将列表 B 中的字符串项添加到列表 A 中的 List<string>
【发布时间】:2014-12-10 11:33:22
【问题描述】:
class ListA
{ 

   public string A {get; set;}
   public string B {get; set;}
   public List<string> C {get; set;}

}

class ListB
{
   public string A {get; set;}
   public string Z {get; set;} 
}

我想要实现的是加入列表的最佳方式。如果 ListA 成员 A 等于 ListB 成员 A,则应将来自 ListB 的成员 Z 添加到 ListA 内的 List&lt;String&gt; C。 ListA 与 List B 是一对多的

谢谢

【问题讨论】:

  • 你尝试过什么吗?文档中有很多关于如何使用 LINQ 加入集合的示例。您可以将它们作为起点。
  • ListA 和 List B 是一对多的意思
  • ListA 中的成员 A 的实例只在列表中出现一次,但在 ListB 中多次出现,我可以使用 var newList = from a in ListA join b in ListB aA equals bA into n select new {A = aA, B = aB, C = ??} 我不确定如何让 ListB 成员 Z 进入新的 List C

标签: c# linq lambda


【解决方案1】:

您可以使用Enumerable.Join,这是一种链接元素的有效方式。这将创建一个包含两个成员的 IEnumerable&lt;anonymoustype&gt;

var join = from a in listA
           join b in listB
           on a.A equals b.A
           select new { a, b };

foreach(var both in join)
{
    both.a.C.Add(both.b.Z)
}

【讨论】:

  • 谢谢你正是我想要的:)
猜你喜欢
  • 1970-01-01
  • 2019-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多