如何合并两个不同对象的列表?
使用C#和LINQ,如何合并两个不同对象的列表,比如研讨会和会议? 它们有一些共同的和一些不同的字段/属性,并且不共享唯一的id。
class Seminar { int id, DateTime joinDate, string name } class Conference { Guid confNumber, DateTime joinDate Type type }
我有一个列表:
List List
我需要将它们合并到一个超级List
:
List
代码片段会很有帮助。
以下代码对我来说很好,如果这是你对Merge的定义
一个解决方案
List someAs = new List() { new A(), new A() }; List someBs = new List() { new B(), new B { something = new A() } }; List
其中A和B是一些类,如下所示
class A { public string someAnotherThing { get; set; } } class B { public A something { get; set; } }
另一个方案
List someAs = new List() { new A(), new A() }; List someBs = new List() { new B(), new B { something = string.Empty } }; List
其中A和B的类定义为
class A { public string someAnotherThing { get; set; } } class B { public string something { get; set; } }
如果你只想要一个包含两个列表中所有对象的List
,那就相当简单了:
List
如果那不是你想要的,那么你需要通过“合并”来定义你的意思。