2014-01-24 52 views
1

說我在我的EF存儲庫這樣做:調用ToList有效性時是否返回ICollection?

public ICollection<User> GetUsers(...) 
{ 
    return this.UserRepository.Get(....).ToList(); 
} 

當我打電話ToList,是否將其轉換爲一個列表,然後得到「降級」或recasted到ICollection的?

它會更好只是做:

public IList<User> GetUsers(...); 

這是同一事物或一個更effecient,其他即更鑄造參與等。

+1

它沒有任何區別。 – SLaks

+0

這樣做的主要原因是,如果您需要使用一些明確實施的ICollection 接口與返回的列表接口。不知道是否有,但那會是原因。與效率無關。 –

+0

如果你將它作爲列表返回,爲什麼不只是讓你的返回類型爲'List'? –

回答

2

我認爲效率沒有區別。 IList<T>繼承自ICollection<T>,您可以返回任意你想要的。沒有顯着區別。

相關問題