1
A
回答
4
是的。爲IEnumerable
.Count
來源是:
public static int Count<TSource>(this IEnumerable<TSource> source) {
if (source == null) throw Error.ArgumentNull("source");
ICollection<TSource> collectionoft = source as ICollection<TSource>;
if (collectionoft != null) return collectionoft.Count;
ICollection collection = source as ICollection;
if (collection != null) return collection.Count;
int count = 0;
using (IEnumerator<TSource> e = source.GetEnumerator()) {
checked {
while (e.MoveNext()) count++;
}
}
return count;
}
(source)
如果IEnumerable
實際上是澆注到ICollection
具有計數的「神奇」的方式,那就用這個來代替迭代。
相關問題
- 1. System.Xml.Linq.XDocument類是否實現IEnumerable <T>?
- 2. 對象是否實現IEnumerable接口C#?
- 3. CAutoPtr類是否實現引用計數?
- 4. Datatable實現IEnumerable?
- 5. 用數組實現IEnumerable
- 6. C#IEnumerable的實現
- 7. 如何實現IEnumerable?
- 8. 實現IEnumerable。錯誤。
- 9. 是否有可能使IEnumerable <char>實現IComparable?
- 10. IEnumerable返回素數:最小實現
- 11. 你如何實現IEnumerable?
- 12. C#實現泛型IEnumerable
- 13. C++/CLI IEnumerable和IEnumerator實現
- 14. 實現IEnumerable的問題
- 15. 檢查類型或實例是否實現IEnumerable而不考慮類型T
- 16. 集合<T>:它爲什麼既實現IEnumerable又實現IEnumerable <T>?
- 17. STLPort的字符串實現是否使用引用計數?
- 18. 數據庫實現與設計是否匹配?
- 19. 是否可以在一個類中實現幾個IEnumerable <T>?
- 20. 是否有p2p數據庫實現
- 21. Java中是否有參數樹實現?
- 22. 是否有Delphi數據API實現?
- 23. 計數選擇項目(計數IEnumerable)
- 24. 這是線程長計算的實現是否正確?
- 25. 使用IEnumerable <DerivedClass>實現接口的IEnumerable <BaseClass>?
- 26. 將IEnumerable(Of Object)轉換爲實現IEnumerable(Of Object)的類?
- 27. 爲什麼ICollection <T>實現IEnumerable <T>和IEnumerable
- 28. 是否有SqlGeometryBuilder的實現?
- 29. DataTable是否實現IListSource?
- 30. Android是否有Erlang實現?
這是否意味着我可以使用它而不是ToList? –
,並且它讓數字變得可怕:P –
您每天使用的大多數集合實現ICollection,因此可以更快地獲取計數。但是總是很好意識到Linq的擴展如* Count()*只是*嘗試*來找到一個快速的方法,如果沒有的話,最終可能會迭代整個事物。 –