Wha*_*sUP 87 c# asp.net-mvc ienumerable c#-4.0
IEnumerable<Book> _Book_IE
List<Book> _Book_List
Run Code Online (Sandbox Code Playgroud)
我怎么做才能转换_Book_List成IEnumerable格式?
Dar*_*rov 136
你不需要转换它.List<T>实现IEnumerable<T>接口,因此它已经是一个可枚举的.
这意味着完全可以拥有以下内容:
public IEnumerable<Book> GetBooks()
{
List<Book> books = FetchEmFromSomewhere();
return books;
}
Run Code Online (Sandbox Code Playgroud)
以及:
public void ProcessBooks(IEnumerable<Book> books)
{
// do something with those books
}
Run Code Online (Sandbox Code Playgroud)
可以调用:
List<Book> books = FetchEmFromSomewhere();
ProcessBooks(books);
Run Code Online (Sandbox Code Playgroud)
cdi*_*die 56
您可以在Assembly System.Core和System.Linq命名空间中使用扩展方法AsEnumerable:
List<Book> list = new List<Book>();
return list.AsEnumerable();
Run Code Online (Sandbox Code Playgroud)
这将在此MSDN链接上说明在编译时更改List的类型.这将为您提供仅枚举我们所需的集合的好处(请参阅MSDN示例).
Rah*_*ury 13
为什么不使用单衬......
IEnumerable<Book> _Book_IE= _Book_List as IEnumerable<Book>;
Run Code Online (Sandbox Code Playgroud)
Ela*_*fer 11
据我所知,List<T>实施IEnumerable<T>.这意味着您不必转换或投射任何东西.
IEnumerable<Book> _Book_IE;
List<Book> _Book_List;
Run Code Online (Sandbox Code Playgroud)
如果是通用变体:
_Book_IE = _Book_List;
Run Code Online (Sandbox Code Playgroud)
如果要转换为非泛型:
IEnumerable ie = (IEnumerable)_Book_List;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
197737 次 |
| 最近记录: |