Collections / 集合
VL.CoreLib 里带了大量不同的集合类型:
Sequence
VL 里集合的基础类型是 Sequence,对应 .NET 世界里的 IEnumerable —— 我们只是换了个更好读的名字。
Spread
Spread 是一种特化的 Sequence,里面的元素叫 slice。向一个有 4 个 slice 的 Spread 要序号 6 的 slice,它不会报错,而是把序号对个数取模 —— 6 mod 4 = 2 —— 返回序号 2 的那个 slice。
SpreadBuilder
SpreadBuilder 是 Spread 的可变版本,用在性能要紧的场景里。典型场景是需要在循环里往 Spread 增删 slice。这种情况下用 SpreadBuilder 来改动,最后再用 ToSpread 回到安全的不可变世界。
Dictionary
Dictionary 是一种键值集合。往字典里添加条目(值)时要给一个标签(键)。键必须唯一,因此可以用它从字典里取回单个的值。
键常常是字符串,但其实可以是任何别的数据类型。
HashSet
表示一组值的集合。
在节点浏览器里打开 Advanced 这个 Aspect,可以看到更多集合类型。