【发布时间】:2018-06-26 03:31:30
【问题描述】:
我正在使用 Argon Granberg 的 A* 寻路脚本,我正在尝试检查是否定义了列表元素
有一个 Vector3 值列表存储为 p.vectorPath 变量。我正在尝试测试列表元素是否定义为
if ( p.vectorPath[myIndex] != null ) {
...
但我在 Unity 中遇到错误,即测试 Vector3 != null 将始终 = true。那么如何测试这个特定的列表索引是否已定义?
谢谢。
【问题讨论】:
-
“定义”是什么意思?你的意思是初始化? Vector3 是一种值类型(结构),不存在未定义(或空)值类型(除非您将其设为可空)。值类型在它们在 c# 中声明的那一刻被初始化 - 如果你没有提供初始值,它有它的默认值(在这种情况下是 Vector3.zero)
-
应该把它作为答案发布
-
OTOH,如果你想知道列表是否在位置 N 有任何元素,你可以检查 list.Count 是否大于 N
-
@C.Carter,我会,但我不确定这是否是 OP 的意思