首页 > 解决方案 > list.elementAt(n) 和 list[n] 之间有什么区别吗

问题描述

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

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

void main() {
    print(sensors.elementAt(1));
    print(sensors[1]);
}

标签: dart

解决方案


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

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

括号符号将隐式调用 .elementAt() 。括号符号没有任何额外的含义,只有易用性——正如许多人所说,它是一种“语法糖”。这就是我所说的效率。你可以用更少的打字来使用它。我不是指算法效率,比如在一个大文件中更快地找到元素List或类似的东西。

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


推荐阅读