Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将列表B中的字符串项添加到列表A中的列表_C#_Linq_Lambda - Fatal编程技术网

C# 将列表B中的字符串项添加到列表A中的列表

C# 将列表B中的字符串项添加到列表A中的列表,c#,linq,lambda,C#,Linq,Lambda,我想要达到的是加入名单的最佳方式。如果ListA成员A等于ListB成员A,则ListB中的成员Z应添加到ListA中的列表C中。列表a与列表B之间存在一对多关系 谢谢您可以使用Enumerable.Join,这是链接元素的有效方法。这将创建一个包含两个成员的IEnumerable class ListA { public string A {get; set;} public string B {get; set;} public List<string> C

我想要达到的是加入名单的最佳方式。如果ListA成员A等于ListB成员A,则ListB中的成员Z应添加到ListA中的列表C中。列表a与列表B之间存在一对多关系

谢谢

您可以使用Enumerable.Join,这是链接元素的有效方法。这将创建一个包含两个成员的IEnumerable

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

你试过什么吗?文档中有很多关于如何使用LINQ连接集合的示例。您可以从这些示例入手。101 LINQ示例-什么意思ListA有一个一对多的列表B ListA中成员a的实例在列表中只出现一次,但在ListB中出现多次,我可以用var newList=从列表a中的a连接到列表b中的b。a等于b.a到n选择新的{a=a.a,b=a.b,C=??}我不知道如何将列表b成员Z连接到新列表C是否完全满足我的要求:
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)
}