[英]Why do arrays in .net only implement IEnumerable and not IEnumerable<T>?
我正在實現自己的ArrayList類,當我意識到這一點時,我感到很驚訝
public System.Collections.Generic.IEnumerator<T> GetEnumerator() {
return _array.GetEnumerator();
}
沒用。 數組在.NET中不實現IEnumerator的原因是什么?
有沒有解決方法?
謝謝
您可以使用System.Linq命名空間中的泛型方法IEnumerable<T> OfType<T>()
,它擴展了IEnumerable接口。 它將過濾掉所有類型不同於T的元素並返回IEnumerable<T> collection
。 如果使用(IEnumerable<T>)_array
轉換運算符,則可能不安全,因為System.Array
(和其他非泛型類型)存儲System.Object
類型的項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.