2014-02-17 7 views

Antwort

19

können Sie verwenden:

var newList = new List.from(list1)..addAll(list2); 
+0

Ah danke, funktioniert perfekt. – Alex

+14

Eine Alternative (die es erlaubt, viele Listen einfach zu verketten): '[list1, list2, list3, ...]. Expand ((x) => x) .toList()'; –

5

Alexandres' Antwort die beste ist, aber wenn man wollte + verwenden, wie in Ihrem Beispiel können Sie Darts Überladen von Operatoren verwenden:

class MyList<T>{ 
    List<T> _internal = new List<T>(); 
    operator +(other) => new List<T>.from(_internal)..addAll(other); 
    noSuchMethod(inv){ 
    //pass all calls to _internal 
    } 
} 

Dann:

var newMyList = myList1 + myList2; 

Ist gültig :)

4

vielleicht konsequenter ~

var list = []..addAll(list1)..addAll(list2); 
Verwandte Themen