Eleganter LINQ basierter Ansatz eine Liste zu instanziieren der Details eines IEnumerable mit

stimmen
2

Ich habe zwei Objekte, die sehr ähnlich in der Struktur sind, nennen wir sie A und B. A und B haben ähnliche Eigenschaften, wie Vorname, Nachname und Dob.

Ich habe ein IEnumerable<A>, die mit einer Anzahl von A - Objekten gefüllt ist. Ich möchte in der Lage sein , durch jedes Objekt in A gefunden iterieren, verwenden Sie die Details ein neues Objekt B, instanziiert und dann zu einem neuen hinzuzufügen List<B>.

Ich kann diese Langschrift tun, aber ich bin sicher, es gibt eine Möglichkeit, dies mit Linq zu tun, wie ich etwas ähnliches in der Vergangenheit gesehen habe, aber ich kann mich nicht genau erinnern, wie es geht.

Die lange Hand wäre:

List<B> list = new List<B>();

foreach (A a in AEnumerable)
{
    B b = new B
    {
        FirstName = a.Forename,
        LastName = a.Surname,
        Dob = a.DateOfBirth
    };

    list.Add(b);
}

Aber ich bin nicht sicher, wie dies mit Linq getan werden könnte.

Veröffentlicht am 03/12/2018 um 15:27
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
4

verwenden Selectdann ToList:

var result = AEnumerable.Select(e => new B
                {
                    FirstName = e.Forename,
                    LastName = e.Surname,
                    Dob = e.DateOfBirth
                }).ToList();
Beantwortet am 03/12/2018 um 15:28
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more