为什么我在IEnumerator上收到错误

本文关键字:错误 IEnumerator 为什么 | 更新日期: 2023-09-27 18:30:16

public void CheckFileType(string directoryPath)
        {
            IEnumerator files = Directory.GetFiles(directoryPath).GetEnumerator();
        }
错误

:错误 1 使用泛型类型"System.Collections.Generic.IEnumerator"需要 1 个类型参数

为什么我在IEnumerator上收到错误

您需要声明要枚举的类型:

IEnumerator<string> files = Directory.GetFiles(directoryPath).GetEnumerator();

如果您不确定类型,请使用var

var files = Directory.GetFiles(directoryPath).GetEnumerator();

然后编译器将为您完成所有艰苦的工作。

IEnumerator<T>是泛型的,需要一个类型,例如:

IEnumerator<string> files = Directory.GetFiles(directoryPath).GetEnumerator();

你引用的类型是泛型的,这意味着你需要提供一个泛型参数,如下所示:

IEnumerator<string> files = [...];

碰巧有一个非通用版本的 IEnumerator ,但它在 System.Collections 命名空间中,而不是 System.Collections.Generic 命名空间中。 如果要使用非泛型版本(实际上不应该使用;应该使用泛型版本),则需要为该命名空间添加using或使用完全限定名称。