0

我正在使用 Dart 开发我的第一个应用程序,该应用程序之前是在 JavaScript 中创建的。在我的 JavaScript 语句中,我声明了一个 List,并将值分配给前三个位置,如下所示:

serpF var = new List ();
serpF [0] = 10;
serpF [1] = 10;
serpF [2] = 10;

我如何在 Dart 中做同样的事情?我已经阅读了“ http://blog.sethladd.com/2011/12/lists-and-arrays-in-dart.html ”中的 Seth Ladd 的列表和数组的文档,并且我已经尝试了所有方法,但它是是不可能的。

4

3 回答 3

2

JavaScript 代码在 Dart 中不起作用,因为访问列表末尾是错误的。Dart 与许多其他语言一样,因为这是一种捕获逻辑错误的方法。

您可以做的是将元素添加到列表中:

var serpF = new List();  // This list has length == 0.
serpF.add(10);
serpF.add(10);
serpF.add(10);

您可以使用方法级联来缩短代码:

var serfP = [];
serpF..add(10)..add(10)..add(10);

如果您确实知道长度,您也可以尝试其他 List 构造函数之一:

var serfP = new List.filled(3, 10);
var serfP = new List.generate(3, (i) => 10);
于 2013-03-24T17:28:42.573 回答
2

除了斯蒂芬建议您还可以做的事情之外,我还可以:

var serpF = [10, 10, 10];

或者

var serpF = new List();
serpF.length = 3;
serpF[0] = 10;
serpF[1] = 10;
serpF[2] = 10;
于 2013-03-24T18:13:24.593 回答
1

您还可以使用List.generate()构造函数:

var list = new List.generate(3, (_) => 10, growable: true);
print(list); // Prints [10, 10, 10].

第一个 arg 指定列表中元素的数量,第二个 arg 使用回调为每个元素分配一个值,第三个 arg 确保列表不是固定宽度的。

于 2013-03-24T23:47:55.913 回答