Как создать двумерный массив в Dart

Как создать двумерный массив при помощи generate Пробовал вот так: var twoDList = List.generate(4, (i) => List(5), growable: false); не работает Помогите пожалуйста


Ответы (1 шт):

Автор решения: Spatz

Двумерный массив в dart - это массив массивов и создавая его генератором нужно одновременно создавать вложенные массивы. До недавнего времени допускалось использование конструктора List(), но в последних версиях языка этот конструктор не работает, т.к. создаваемый массив заполняется значениями null, а в новой спецификации обычный массив не может содержать пустые значения. В документации рекомендуется замена на List.filled:

var twoDList = List.generate(4, (i) => List.filled(5,0), growable: false);

В некоторых случаях могут помочь вложенные генераторы

var twoDList = List.generate(4, (i) => List.generate(5, (j)=> i*5 + j, growable: false), growable: false);
→ Ссылка