IEnumerator获取类型

本文关键字:取类型 获取 IEnumerator | 更新日期: 2023-09-27 18:13:38

我在c#中使用IEnumerator。我不知道如何获得当前项目的类型。在枚举数中不只是int、string等。如果可以,也请给我举个例子。谢谢!

IEnumerator获取类型

如果您的目的是获得序列中每个元素的Type,那么像这样对每个元素调用GetType:

var enumerator = sequence.GetEnumerator();
while (enumerator.MoveNext())
{
    Type currentType = enumerator.Current.GetType();
}

但是,如果您打算根据元素的类型进行分支,我建议您使用is操作符来代替:

var enumerator = sequence.GetEnumerator();
while (enumerator.MoveNext())
{
    if (enumerator.Current is string) {     
    }
    else if (enumerator.Current is int) {
    }   
}

您只需要在Current项目上调用GetType方法。它会给你底层的类型