如果我有一個通用的IEnumerable<int>
。我可以簡單地套用ToList()
或ToArray()
或FirstOrDefault()
它。如何將這些方法應用於非泛型IEnumerable
?如何獲得IEnumerable的第一個元素(非泛型)?
3
A
回答
6
你有兩個選擇:
如果你知道你的枚舉所有對象都是同一類型的,你可以將它轉換爲通用
IEnumerable<YourType>
。在最壞的情況下,你可以隨時使用object
:object first = enumerable.Cast<object>().First();
或者你可以用枚舉,讓一步,取當前元素:
IEnumerator enumerator = enumerable.GetEnumerator(); enumerator.MoveNext(); object first = enumerator.Current;
1
你這裏有兩種選擇:
按照疑問,@Danier吉梅內斯建議,並利用
Cast<TResult>
甲基的OD。演員陣容後,你會得到一個通用的枚舉,你可以在其上應用First()
方法。這也是最簡單的實現。使用
GetEnumerator()
方法,它給你一個IEnumerator
。從這裏你可以遍歷集合。從MoveNext()
開始,可以使用Current
屬性獲取第一個元素。
編輯: 安德烈就超過我了。
1
很簡單 看看此示例代碼
IEnumerable集合; ---在這裏填寫收集--- collection.OfType()。ToList()或collection.OfType()。ToArray的 collection.OfType()。ToList()或collection.OfType()。ToArray的() 它過濾(INT/MyClass的)對象類型並將其轉換爲一個列表或數組
相關問題
- 1. 如何獲取動態/泛型類型的第一個元素
- 2. 獲取IEnumerable項的第一個元素
- 3. jsoup:如何獲得第一個元素?
- 4. 如何從.net的IEnumerable <T>獲取第一個元素?
- 5. 非泛型IEnumerable和泛型IEnumerable <T>有什麼區別?
- 6. Java泛型:如何從一個方法獲得泛型類型?
- 7. 如何獲得第二個子元素?
- 8. 如何獲得第一個元素值在一個div在python
- 9. 如何獲得列中的第一個非空單元格?
- 10. 如何獲得每個元素的第二元素列表
- 11. 如何獲取第一個非空數組元素的索引?
- 12. 如何獲得一個元組元素
- 13. 我如何++獲得一套只是第一個元素在C
- 14. 如何獲得數組的第一個元素 - jQuery
- 15. 你如何獲得JSTL/EL集合中的第一個元素?
- 16. 如何獲得std :: set的第一個元素
- 17. 如何獲得NSMutablearray的第一個元素而不會崩潰?
- 18. 如何獲得的第一個「<a>」元素在div
- 19. 如何獲得HashMap的第一個元素
- 20. 製作一個泛型類的IEnumerable
- 21. 如何獲得非空的第一列
- 22. 如何獲得的元組的第一個元素相匹配的第二個元素(蟒蛇)
- 23. 獲得一個泛型類型實現
- 24. 如何獲得泛型類
- 25. 非泛型IEnumerable到字符串
- 26. 如何獲得第一個內部元素?
- 27. 如何在XPATH中使用local-name()獲得第一個元素?
- 28. 如何從Haskell的10元組中獲得第n個元素?
- 29. 獲得的一個元素
- 30. 如何獲得一個元素與AngularJS
附加代碼,以便我們可以幫助你更好。據我所知'IEnumerable的'不是一般 –
wudzik
@wudzik IEnumerable的是駐留在的System.Collections中的通用命名了IEnumerable 接口的實現,因此它是通用的。 –
Abbas