首页 > 解决方案 > Dart 有固定大小的数组吗?

问题描述

我正在编写一个使用 MidiNotes 的程序。每首歌曲都可以编程为根据固定大小的 128 位数组中的位 0 或 1 播放。

在 Dart 上,似乎只能创建期望动态大小列表的函数:

void something(List<bool> midiNotes)

这样,用户可以忘记设置 128 位,而只传递一个空列表或只有一个元素的列表。

标签: dart

解决方案


我会把这两个链接作为参考

https://api.dart.dev/stable/2.13.3/dart-core/List/List.html
https://api.dart.dev/stable/2.13.4/dart-core/List/List.filled .html

在你的情况下,我会推荐

const List<bool> myList = [/*...*/];
// just use const

但是,如果这不起作用,您可以使用它。

List 构造函数是这样的

List<E>([int? length])

如果你说类似

List<bool> fixedLengthList = List<bool>(10)

然后任何会改变List's 长度的东西都会引发错误。

如果你想要类似的东西

List<bool> fixedLengthList = [true, true, true];

然后使用

List<bool> fixedLengthList = List<bool>.filled(3, true);
/// you can add growable: false if you want but it is useless

推荐阅读