【发布时间】:2017-01-02 15:24:06
【问题描述】:
那么,为什么在这段代码中检测到无法访问的代码:
public bool GetKeyPressed(KeyCode key)
{
for (int i = 0; i < keys.Count; i++)
if (keys[i].key == key && keys[i].pressed)
return true;
else
return false;
return false;
}
索引 (i) 显然无法访问...为什么?
【问题讨论】:
-
如果您的
keys包含多个密钥,它将在第一次迭代后返回,并且永远不会在其中找到您想要的密钥。尝试删除 for 循环中的 else,例如仅限for (int i = 0; i < keys.Count; i++) if (keys[i].key == key && keys[i].pressed) return true;。 -
请注意,如果您只评估第一个值,为什么需要循环?在第一次评估后,无论键匹配如何,控制权都会返回给调用者。
标签: c# unreachable-code