> *列表是以特定顺序存储一些值的集合* 列表是以某种顺序添加并存储信息的一种数据结构(类似一元数组)。这是一种十分灵活的数据结构,允许你在尾部或列表中间指定插入一个值,而且你还可以对列表内的值随机、升序或降序等多种方式进行排序。 当访问一个列表数据结构时,你应该使用整数值的索引值来获取其中的值,如果你提供的不是整数索引,则GameMaker Studio 2会自动向下取整(如10.5会变成10)。如果这种自动取整不是你想要的效果,请务必检查你传递的索引参数以避免这种情况发生。 注意:跟所有动态资源相同,数据结构会占用设备内存,因此在不再使用时应当将其销毁以释放内存,否则可能会造成内存泄漏,从而影响游戏运行速度和效率,最后导致游戏报错奔溃。 在使用列表时有以下一些方法可以使用: * [ds_list_create](ds_list_create.md) * [ds_list_destroy](ds_list_destroy.md) * [ds_list_clear](ds_list_clear.md) * [ds_list_empty](ds_list_empty.md) * [ds_list_size](ds_list_size.md) * [ds_list_add](ds_list_add.md) * [ds_list_set](ds_list_set.md) * [ds_list_delete](ds_list_delete.md) * [ds_list_find_index](ds_list_find_index.md) * [ds_list_find_value](ds_list_find_value.md) * [ds_list_insert](ds_list_insert.md) * [ds_list_replace](ds_list_replace.md) * [ds_list_shuffle](ds_list_shuffle.md) * [ds_list_sort](ds_list_sort.md) * [ds_list_copy](ds_list_copy.md) * [ds_list_read](ds_list_read.md) * [ds_list_write](ds_list_write.md) - - - - - 列表也能用于存储其它列表或映射表,但只能与json_encode方法联合使用。这需要你首先“标记(flag/mark)”出列表中的条目,以便与确保可以进行正确的编码来使用以下方法: * [ds_list_mark_as_list](ds_list_mark_as_list.md) * [ds_list_mark_as_map](ds_list_mark_as_map.md) - - - - - 除了这些特定功能以外,你还可以使用通配符(或叫访问器)来添加或修改列表中的内容,通配符语法类似一元数组中的方法: ```javascript list_index[| index] ``` *注意:如果你想确认数据结构是否存在,你可以使用"ds_exists()"方法来判断。*