-1

我有两个列表,都有一个 ID(唯一),我想要做的就是按它们的唯一属性对它们进行分组,并获取一个包含这两个列表的新列表。

list1 group by list2 -> get list3

这是我的代码:

List<LeadDocumentStatusQuerySequence> list1 = 
                       client.GetLeadDocumentStatusQuerySequence();
List<LeadDocumentStatusQueryDeclarationDetails> list2 = 
                       client.GetLeadDocumentStatusQueryDeclarationDetails();

我需要获得包含两个列表的第三个列表,我想按 ID 对它们进行分组,但是如何在 LINQ 中编写它?

var both = ...?

提前致谢。

4

2 回答 2

3

我不确定这是否是您想要的,但请参见下文。我假设 People 是 Animal 的子类。

var combinedList = new List<Animal>();

combinedList.AddRange(people);
combinedList.AddRange(animals);

var grouped = combinedList.GroupBy(y => new {y.ID}).ToList();
于 2013-10-27T14:49:42.173 回答
1

目前尚不清楚您将如何操作数据,但使用CompositeCollection可以将数据组合在一起。它在 WPF 中用于组合要在屏幕上显示的不同集合。

请注意,Name以下类在 C# 编译器意义上没有直接关系,因此两者之间没有直接关系:

void Main()
{

    var myAnimals = new List<Animal>() { new Animal() { Name = "Zebra" },
                                         new Animal() { Name = "Cobra" }} ;

    var myPeople = new List<Person>() { new Person() { Name = "Snake Pliskin" },
                                        new Person()  { Name = "OmegaMan" }};


    // Uses System.Windows.Data
    var FavoriteThings = new CompositeCollection();

    FavoriteThings.Add(myAnimals);
    FavoriteThings.Add(myPeople);


}

// Define other methods and classes here
public class Animal
{
    public string Name { get; set; }
}


public class Person
{
    public string Name { get; set; }
}
于 2013-10-27T15:22:34.883 回答