只想訪問實現IEnumerable的對象中的第一個元素,該怎麼做?如何訪問實現IEnumerable的對象中的第一個元素
1
A
回答
7
不幸的是你不能使用的東西,它實現僅IEnumerable
的LINQ擴展方法。但是,您可以使用.Cast<object>()
將其變爲IEnumerable<object>
,然後使用以下方法。下面假設collection
是IEnumerable<T>
類型的一些T
:
要訪問的第一個元素,並拋出一個異常,如果是沒有的:
collection.First()
要訪問的第一個元素,並得到,如果該類型缺省值也沒有了:
collection.FirstOrDefault()
類型的默認值是null
引用類型(聲明爲class
類型,例如string
,Stream
,Bitmap
等)和值類型(聲明爲struct
或enum
的類型,例如int
,bool
,DateTime
等)的「零值」。
要僅找出是否有一個第一元件在所有:
collection.Any()
所有這三個可以採取一個lambda表達式作爲條件,例如.First(x => x.Name == "x")
,相當於.Where(x => x.Name == "x").First()
。
4
使用FirstOrDefault方法
using System.Linq;
int[] numbers = { };
int first = numbers.FirstOrDefault();
相關問題
- 1. 如何訪問列表中對的第一個元素
- 2. 獲取IEnumerable項的第一個元素
- 3. 如何訪問對象內的元素
- 4. 如何從一個對象訪問C#中的第一值3.0
- 5. 如何訪問Angular DOM對象中的某個元素
- 6. 如何訪問每個列表的第一個元素列表
- 7. 如何從.net的IEnumerable <T>獲取第一個元素?
- 8. 如何選擇IEnumerable對象的前三個元素?
- 9. PHP:直接訪問一個元素中的對象
- 10. 訪問元素JavaScript對象
- 11. 如何訪問std :: list的第一個元素?
- 12. 訪問對象數組中的php對象中的元素
- 13. 如何訪問在Java中實現Runnable的對象的方法?
- 14. 如何從jQuery對象中僅提取第一個元素?
- 15. 如何從第二個對象訪問一個對象的方法
- 16. 如何訪問C#中IEnumerable對象的索引?
- 17. Java:無法訪問對象的元素
- 18. 如何使用等效對象訪問集合中的元素?
- 19. 如何在Java中訪問數組對象的特定元素?
- 20. 如何訪問加載在對象標籤中的HTML元素?
- 21. 如何使用javascript訪問返回對象中的元素?
- 22. 訪問一個無對象的元素閃亮
- 23. 在PHP中訪問JSON對象元素
- 24. 如何訪問DataRow中單元格後面的「真實」對象
- 25. 如何選擇枚舉對象中的第i個元素
- 26. 抓住的第一個元素中的對象(PHP)
- 27. 如何刪除第一個元素並使第二個元素成爲java.util.NavigableSet中的第一個元素?
- 28. 在lxml.html中訪問輸出的第一個元素
- 29. 如何訪問由JSON.parse創建的此JSON對象的元素?
- 30. 如何實現IEnumerable?
我沒有找到這些方法。我的對象只實現IEnumable接口。 – user496949 2010-12-16 01:28:41
順便說一句,我正在使用.NET Framework 3.5 – user496949 2010-12-16 01:29:00
請問你能爲第一句話顯示任何參考嗎? ('不幸的是,你不能在僅實現IEnumerable的東西上使用LINQ擴展方法)。我從MSDN頁面複製了我的示例,它只是使用int數組...謝謝! – Lorenzo 2010-12-16 01:36:43