合并两个通用列表

Pra*_*dip 0 c# linq generics list

创建了一个类

 public class DBClass: IDisposable
    {
        public string Name { get; set; }
        public int Score { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

使用此类创建类的列表.

        List<DBClass> dbc1 = new List<DBClass>();
        List<DBClass> dbc2 = new List<DBClass>();
Run Code Online (Sandbox Code Playgroud)

我在列表中添加了两组不同的数据.注意:这只是一个例子

        dbc1.Add(SetDBClass("A", 100));
        dbc1.Add(SetDBClass("B", 100));
        dbc1.Add(SetDBClass("C", 100));

        dbc2.Add(SetDBClass("B", 200));
        dbc2.Add(SetDBClass("C", 200));
        dbc2.Add(SetDBClass("D", 200));
Run Code Online (Sandbox Code Playgroud)

我需要一个List<DBClass>对象,上面两个对象合并但是以下面的方式.

A - 100 B - 300 C - 300 D - 200

如何通过LINQ或任何其他方式实现上述目标?

如果要从两个列表中排除相同的数据,请执行以下操作:

ParentDB.Where(b => !((from x in mainDataSource select x.Name).Contains(b.Name))).ToList();
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 11

from x in dbc1.Concat(dbc2)
group x by x.Name into g
select new DBClass(g.Key, g.Sum(x => x.Score)) 
Run Code Online (Sandbox Code Playgroud)