当前上下文中不存在名称 IEnumerator

The name IEnumerator does not exist in current context

这是我一段时间以来遇到的最烦人的错误。 我想做一个简单的循环,使用 C# 将我的相机移动到 Unity 中的另一个点。

我是 "using System.Collections.Generic",当我开始输入时,IEnumerator 甚至会出现在建议中,但是一旦我输入完,它就会变红并出现错误 "Assets/Scripts/NerworkManager.cs(190,9): error CS0246: The type or namespace name `IEnumerator' could not be found. Are you missing a using directive or an assembly reference?" 在控制台中,在编辑器中 "error CS0103: The name IEnumerator does not exist in the current context"。

这是我的代码:

IEnumerator LerpCam(Camera c, Vector3 target, float length){
        float startTime = Time.time;
        while (Time.time < startTime + length) {
            c.transform.position = Vector3.Lerp (c.transform.position, target, Time.deltaTime);
        }
    yield return null;
}

我不知道问题出在哪里,并且可以毫无问题地使用 Generic 集合中的其他内容。任何帮助将不胜感激。

IEnumeratorSystem.Collections 中,IEnumerator<T>System.Collections.Generic 中。因此,请确保您拥有正确的匹配对。

你要放

using System.Collections;

在文件的顶部。

我使用 System.Collections 添加,但仍然出现错误 "The name 'Enumerable' does not exist in the current context"。我使用 System.Linq 添加,错误消失了。

名称 'Enumerable' 不存在,因为它需要 Framework 4.0

提供的 Linq

并且不要忘记使用库:

using System.Collections;
using System.Linq;