加入后赋值列表

本文关键字:列表 赋值 | 更新日期: 2023-09-27 18:15:21

我在LINQ中有一个连接语句,它将1个类和1个列表组合成一个新类。

我想要的类:

public class ClassResult
{
    public string Name {get;set;}
    public List<Class2> Class2s {get;set;}
}

类1:

public class Class1
{
    public string Name {get;set;}
    public int ID {get;set;}
    public string Description {get;set;}
}

Class2:

public class Class2
{
    public string Name {get;set;}
    public int ID {get;set;}
}
加入:

// Class1List is a List<Class1>
// Class2List is a List<Class2>
from class2 in class2List
join Class1 in Class1List on class2.ID equals Class1.ID    
select new ClassResult 
{
    Name = Class1.Name,
    ClassResult = ? ? ?    
};

我怎样才能得到所有具有相同IDClass1Class2元素的List<Class2> ?怎么赋值呢?

谢谢!

加入后赋值列表

虽然目前的输入有点难以理解,但我认为您要求的是GroupJoin:

from c1 in Class1List
join c2 in Class2List on c1.ID equals c2.ID into g
select new ClassResult
{
    Name = c1.Name,
    Class2 = g.ToList()
}