2012-09-18 102 views

回答

8

沒有任何反應。如果myEnumerable確實是ICollection<MyType>collection將包含它。否則它將是null。就那麼簡單。

+1

謝謝丹尼爾。如何設置ICollection的count屬性? –

+0

它已經在那裏。它沒有被設置。演員不會創建新的實例! –

+0

那很好。我不知道我的IEnumerable實際上是一個ICollection。你有一個鏈接,更詳細地解釋了這一點。基本上我正在處理一個IEnumerable,我寧願不枚舉集合來計數。投到ICollection似乎解決了這個問題,它似乎有點奇怪,它總是有祕密計數。 –

1

重要的一點:

當過你施放IEnumerable類型對象ICollection將引用類型。

一樣,從收集去除項目將從IEnumerable集合中刪除該項目也是如此。

例如:

IEnumerable<AnyClass> enumerableObject; 

ICollection<AyClass> collectingObject = (ICollection<AnyClass>)enumerableObject; 

foreach(var item in collectingObject){ 

collectingObject.Remove(item); 

} 

如果你的enumerableObject訪問值,你會發現它更新,所有的值刪除。