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

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

4

3 回答 3

4

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

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

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

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

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

于 2013-09-05T21:37:52.187 回答
2

IEnumerator<T>是通用的并且需要一个类型,例如:

IEnumerator<string> files = Directory.GetFiles(directoryPath).GetEnumerator();
于 2013-09-05T21:37:45.557 回答
1

您所指的类型是通用的,这意味着您需要提供一个通用参数,如下所示:

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

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

于 2013-09-05T21:38:04.667 回答