Initialisieren von Liste mit den, die ein einzelnes Objekt, und eine andere Liste von Objekten
Ich initialisieren möchten, eine Liste mit einem Objekt und einer Liste von Objekten, die in dieser spezifischen Reihenfolge. Derzeit bin ich dabei:
List<MyObject> list = new List<MyObject>();
list.Add(object1); //object1 is type MyObject
list.AddRange(listOfObjects); //listOfObjects is type List<MyObject>
Ich hatte gehofft, zu konsolidieren, die in einer Initialisierungs-Anweisung (die syntax ist falsch natürlich):
List<MyObject> newList = new List<MyObject>() { object1, listOfObjects };
Gibt es eine Möglichkeit, dies zu tun, die kurz und prägnant?
InformationsquelleAutor der Frage Joe W | 2012-11-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die Reihenfolge der Elemente ist nicht wichtig, Sie verwenden können:
Dies funktioniert, indem Sie mit der
List<T>
Konstruktor akzeptiert einIEnumerable<T>
dann auflistungsinitialisierer Sie die übrigen Elemente. Zum Beispiel die folgenden:Drucken:
Beachten Sie, dass die Reihenfolge anders ist als Ihr original, aber, wie das einzelne Element wird Hinzugefügt letzten.
Wenn die Reihenfolge wichtig ist, aber ich persönlich würde nur die Liste erstellen, indem Sie in Ihrem ersten Objekt in der Initialisierung und das aufrufen
AddRange
:Dies macht die Absicht sehr klar, und vermeidet den Bau von temporären Elemente (die erforderlich wäre, ist die Verwendung von LINQ ist, Concat, etc.).
InformationsquelleAutor der Antwort Reed Copsey
Ich denke, das beste, was Sie tun können, ist:
InformationsquelleAutor der Antwort Lee