簡體   English   中英

C#中LinkedList的大小

[英]Size of a LinkedList in C#

我正在將一個Java程序移植到C#。

在Java中獲取LinkedList<T>的大小我做:

int size = list.size();

但是,我在C#中找不到類似的方法。 我知道鏈表的重點不是知道它的大小,但由於我將它用於緩沖區,所以在列表內部有一個計數器來返回它的大小是個好主意。

您想使用Count屬性。

此外, LinkedList實現IEnumerable ,因此該接口的所有方法也是可用的,包括Count()

在C#等價物中,Java的大小是數組中的長度和實現ICollection接口的對象中的Count 數組也包含Count,但它是顯式實現的,需要轉換為ICollection 還有IEnumerable接口由允許迭代其元素的所有對象實現。 IEnumerable包含名為Count()的擴展方法。 請注意,它是一種方法,而不是屬性。 一些真實的集合還公開了Capacity屬性,它表示為元素分配了多少內存。 容量總是比或等於Count 如果列表很大,可以使用IEnumerable中的 LongCount()方法。 請注意, IEnumerable中的Count()方法還允許計算滿足給定條件的元素。 這可能是有用的。

樣品:

LinkedList<string> linkedList = new LinkedList<string>();

int32 size3 = linkedList.Count; // From ICollection
int32 size2 = linkedList.Count(); // From IEnumerable
int64 bigSize = linkedList.LongCount(); // From IEnumerable

int32 size4 = linkedList.Count(s => s == "a"); // Count only strings equals "a"

有關進一步閱讀,請參閱: System.Collections命名空間 ,其中包含有關常見.NET集合的所有信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM