-1

2 つのリストがあり、どちらも ID (一意) を持っています。やりたいことは、一意のプロパティで両方をグループ化し、両方のリストを含む新しいリストを取得することだけです。

list1 group by list2 -> get list3

これが私のコードです:

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

両方のリストを含む 3 番目のリストを取得する必要があります。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# コンパイラの意味で直接関連していないため、2 つの間に直接的な相関関係がないことに注意してください。

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 に答える