2014-02-17 3 views

ответ

19

Вы можете использовать: ответ

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

Ах спасибо, работает отлично. – Alex

+14

Альтернатива (которая позволяет легко конкатенировать многие списки): '[list1, list2, list3, ...]. Expand ((x) => x) .toList()'; –

5

Alexandres' является лучшим, но если вы хотите использовать +, как в вашем примере вы можете использовать Darts перегрузку операторов:

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 
    } 
} 

Тогда:

var newMyList = myList1 + myList2; 

Действителен :)

4

может быть более последовательным ~

var list = []..addAll(list1)..addAll(list2); 
Смежные вопросы