从阵列中获得通用枚举 [英] obtain generic enumerator from an array
本文介绍了从阵列中获得通用枚举的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在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屋!
查看全文