6 ответов:
вам не нужно конвертировать его.
List<T>осуществляетIEnumerable<T>интерфейс это уже перечисли.это означает, что совершенно нормально иметь следующее:
public IEnumerable<Book> GetBooks() { List<Book> books = FetchEmFromSomewhere(); return books; }а также:
public void ProcessBooks(IEnumerable<Book> books) { // do something with those books }, который может быть вызван:
List<Book> books = FetchEmFromSomewhere(); ProcessBooks(books);
вы можете использовать метод расширения AsEnumerable в системе сборки.Ядро и система.Пространство имен Linq:
List<Book> list = new List<Book>(); return list.AsEnumerable();Это будет, как сказано на это ссылка MSDN изменить тип списка во время компиляции. Это даст вам преимущества также только перечислить вашу коллекцию нам нужно (см. Пример MSDN для этого).
почему бы не использовать один вкладыш ...
IEnumerable<Book> _Book_IE= _Book_List as IEnumerable<Book>;
насколько я знаю
List<T>осуществляетIEnumerable<T>. Это означает, что вам не нужно ничего конвертировать или бросать.
IEnumerable<Book> _Book_IE; List<Book> _Book_List;Если это общий вариант:
_Book_IE = _Book_List;Если вы хотите конвертировать в неродовой:
IEnumerable ie = (IEnumerable)_Book_List;
Comments