2014-01-24 2 views
1

Скажи, что я делаю это в моем хранилище EF:Возвращает ICollection при вызове ToList effecient?

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

Когда я называю ToList, значит ли это преобразовать его в список, а затем получить «понижен» или recasted к ICollection?

было бы лучше всего сделать:

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

Это то же самое, или один более эффективна, что другой т.е. более отливка участие или тому подобное.

+1

Это не имеет никакого значения. – SLaks

+0

Основной причиной этого является необходимость работы с некоторыми явно реализованными методами ICollection с возвращенным списком . Не уверен, есть ли какие-то, но это будет причиной. Не имеет никакого отношения к эффективности. –

+0

Если вы возвращаете его как список, почему бы просто не сделать свой тип возврата 'List'? –

ответ

2

Я думаю нет разницы относительно эффективности. IList<T> унаследовать от ICollection<T>, вы можете вернуться в зависимости от того, что вы хотите. Нет Значительное разница.

Смежные вопросы