c# - IEnumerator获取类型

时间:2014-07-20 15:27:11

标签: c# types ienumerator

我在C#中使用IEnumerator。我不知道如何获得当前项目的类型。在枚举器中不仅仅是int,string等。如果可以的话,请给我一个例子。谢谢!

2 个答案:

答案 0 :(得分:4)

如果您的目的是获取序列中每个元素的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) {
    }   
}

答案 1 :(得分:0)

您只需要在GetType项目上调用Current方法即可。这将为您提供基础类型。