从阵列中获得通用枚举 [英] obtain generic enumerator from an array

查看:181
本文介绍了从阵列中获得通用枚举的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在C#中,一个人如何从一个给定的数组获得一个通用枚举?

在下面的code, MYARRAY 的MyType 对象的数组。我想所示的方式获得 MyIEnumerator
但似乎我得到一个空的枚举(虽然我已确认 MyArray.Length> 0 )。

 的MyType [] MYARRAY = ...;
IEnumerator的<&MyType的GT; MyIEnumerator
  =(MyArray.GetEnumerator()作为IEnumerator的<&MyType的GT;);


解决方案

工程于2.0 +

 ((IEnumerable的<&MyType的GT;)myArray的).GetEnumerator()

工程于3.5+(花式LINQy,有点低效率):

  myArray.Cast<&MyType的GT;()的GetEnumerator()//返回的IEnumerator<&MyType的GT;

In C#, how does one obtain a generic enumerator from a given array?

In the code below, MyArray is an array of MyType objects. I'd like to obtain MyIEnumerator in the fashion shown, but it seems that I obtain an empty enumerator (although I've confirmed that MyArray.Length > 0).

MyType [ ]  MyArray  =  ... ;
IEnumerator<MyType>  MyIEnumerator
  =  ( MyArray.GetEnumerator() as IEnumerator<MyType> ) ;

解决方案

Works on 2.0+:

((IEnumerable<MyType>)myArray).GetEnumerator()

Works on 3.5+ (fancy LINQy, a bit less efficient):

myArray.Cast<MyType>().GetEnumerator()   // returns IEnumerator<MyType>

这篇关于从阵列中获得通用枚举的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆