list.elementAt(n) 和 list[n] 之间有什么区别吗

nbl*_*oqs 7 dart

在 Dart 中,使用elementAt[]操作符访问列表元素有什么区别吗?

var sensors = ["ir", "ultrasound", "laser"];

void main() {
    print(sensors.elementAt(1));
    print(sensors[1]);
}
Run Code Online (Sandbox Code Playgroud)

bra*_*b0y 4

.elementAt()方法随Iterable类一起提供。它适用于所有可迭代对象,而不仅仅是Lists.
一些迭代可能有更有效的方法来查找元素,列表也是如此,使用方括号表示法。

我所说的更有效率是什么意思?

括号表示法将隐式调用 .elementAt() 。括号符号没有任何附加含义,只是为了便于使用 - 正如许多人所说,它是一个“语法糖”。这就是我所说的效率。您可以通过更少的打字来使用它。我并不是指算法效率,比如在大数据中更快地找到元素List或类似的东西。

此外,Dart 中的列表类似于许多语言中所谓的“数组”。这些老式语言使用括号表示法来标识数组元素。因此,括号表示法也是一种传统,当您有 Java 或 C# 等背景时,它的目的是让您轻松开始使用 Dart。